Function at 0x406370
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x270
push esi
mov eax, 0x265
mov word [ebp - 0x34], ax
mov ecx, 0x3a1
mov word [ebp - 0x38], cx
mov dword [ebp - 0x10], 0x1b9b
mov edx, 0x255
mov word [ebp - 0x48], dx
mov eax, 0x1a5
mov word [ebp - 0x44], ax
mov byte [ebp - 0x22], 0x2f
mov ecx, 0x1fcd6
mov dword [ebp - 0xc0], 0x5a311df1
mov dword [ebp - 0xbc], ecx
mov edx, 0x125
mov word [ebp - 0x20], dx
mov dword [ebp - 0x18], 0x307b
mov eax, 0x1ddb7
mov dword [ebp - 0x68], 0x57625ea9
mov dword [ebp - 0x64], eax
mov ecx, 0x1ddb7
mov dword [ebp - 0x30], 0x57624ed5
mov dword [ebp - 0x2c], ecx
mov edx, 0x1ddb7
mov dword [ebp - 0x98], 0x5761fa65
mov dword [ebp - 0x94], edx
mov eax, 0x1fcd6
mov dword [ebp - 0xc], 0x5a30aa4f
mov dword [ebp - 8], eax
mov byte [ebp - 1], 0x29
mov ecx, 0x1fcd6
mov dword [ebp - 0x7c], 0x5a30c491
mov dword [ebp - 0x78], ecx
mov edx, 0x429
mov word [ebp - 0x80], dx
mov eax, 0x411
mov word [ebp - 0x28], ax
mov byte [ebp - 2], 0x33
mov byte [ebp - 0x11], 0x31
mov ecx, 0x1ddb7
mov dword [ebp - 0x5c], 0x57621979
mov dword [ebp - 0x58], ecx
mov byte [ebp - 0x39], 0x2f
mov edx, 0x1fcd6
mov dword [ebp - 0x10c], 0x5a30b541
mov dword [ebp - 0x108], edx
mov eax, 0x1fcd6
mov dword [ebp - 0x70], 0x5a3116c1
mov dword [ebp - 0x6c], eax
mov ecx, 0x291
mov word [ebp - 0xa8], cx
push 7
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417978], eax
movzx eax, byte [ebp - 1]
add eax, 0x2f
mov byte [ebp - 1], al
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x1f
call fcn.0040a110
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov dword [ebp - 0xe0], 0x10b41
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x13c], edx
cmp dword [ebp - 0x140], 0x5a31174b
jne 0x4064e9
cmp dword [ebp - 0x13c], 0x1fcd6
je 0x4068ea
cmp dword [ebp - 0x140], 0x80000000
jne 0x406501
cmp dword [ebp - 0x13c], 0x2d185527
je 0x406506
jmp 0x406923
movzx eax, byte [ebp - 1]
cmp eax, 0x2d
jge 0x40653e
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
movzx eax, byte [ebp - 1]
push eax
movzx ecx, byte [ebp - 1]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.0040a0a0
add esp, 0x20
jmp 0x4068de
cmp dword [ebp - 0xc], 0x5a312175
jne 0x406568
cmp dword [ebp - 8], 0x1fcd6
jne 0x406568
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x2b
call fcn.0040a130
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
jmp 0x4068de
movzx eax, byte [ebp - 1]
cmp eax, 0x31
jle 0x406712
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x43
call fcn.0040a130
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], edx
cmp dword [ebp - 0x174], 0x1fcd6
jl 0x4065ad
jg 0x4065a8
cmp dword [ebp - 0x178], 0x5a3126f7
jb 0x4065ad
jmp 0x40670d
mov ecx, dword [ebp - 0xc]
add ecx, 0x5a30d0bf
mov edx, dword [ebp - 8]
adc edx, 0x1fcd6
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x17c], edx
cmp dword [ebp - 0x17c], 0x1fcd6
jl 0x4065ea
jg 0x4065e5
cmp dword [ebp - 0x180], 0x5a30ebb5
jbe 0x4065ea
jmp 0x40670d
mov eax, dword [ebp - 0xc]
and eax, 0x5a30ac2f
mov ecx, dword [ebp - 8]
and ecx, 0x1fcd6
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x188], 0x5a30f999
jne 0x406624
cmp dword [ebp - 0x184], 0x1fcd6
jne 0x406624
jmp 0x40670d
mov edx, dword [ebp - 0xc]
xor edx, 0x5a30b4e3
mov eax, dword [ebp - 8]
xor eax, 0x1fcd6
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0x1fcd6
jg 0x406660
jl 0x40665b
cmp dword [ebp - 0x190], 0x5a30d6d3
jae 0x406660
jmp 0x40670d
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x11
call fcn.0040a110
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
cmp dword [ebp - 0x194], 0x1fcd6
jl 0x406695
jg 0x406693
cmp dword [ebp - 0x198], 0x5a310c01
jb 0x406695
jmp 0x40670d
movzx ecx, byte [ebp - 1]
cmp ecx, 0x2d
jge 0x4066a0
jmp 0x40670d
cmp dword [ebp - 8], 0x1fcd6
jg 0x4066b6
jl 0x4066b4
cmp dword [ebp - 0xc], 0x5a310711
ja 0x4066b6
jmp 0x40670d
mov edx, dword [ebp - 0xc]
or edx, 0x5a311b4d
mov eax, dword [ebp - 8]
or eax, 0x1fcd6
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0x1fcd6
jg 0x4066ef
jl 0x4066ed
cmp dword [ebp - 0x1a0], 0x5a30eba9
ja 0x4066ef
jmp 0x40670d
mov ecx, dword [ebp - 0xc]
sub ecx, 0x5a30e34b
mov edx, dword [ebp - 8]
sbb edx, 0x1fcd6
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1a4], edx
jmp 0x4068de
movzx eax, byte [ebp - 1]
or eax, 0x29
cmp eax, 0x27
jne 0x40673b
mov ecx, dword [ebp - 0xc]
sub ecx, 0x5a30b551
mov edx, dword [ebp - 8]
sbb edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
jmp 0x4068de
cmp dword [ebp - 0xc], 0x5a30c649
jne 0x406769
cmp dword [ebp - 8], 0x1fcd6
jne 0x406769
mov eax, dword [ebp - 0xc]
xor eax, 0x5a30b18d
mov ecx, dword [ebp - 8]
xor ecx, 0x1fcd6
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
jmp 0x4068de
movzx edx, byte [ebp - 1]
cmp edx, 0x29
jg 0x4067a1
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
movzx edx, byte [ebp - 1]
push edx
movzx eax, byte [ebp - 1]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040a0a0
add esp, 0x20
jmp 0x4068de
movzx edx, byte [ebp - 1]
sub edx, 0x2d
cmp edx, 0x27
jge 0x4067c5
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x33
call fcn.0040a130
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
jmp 0x4068de
cmp dword [ebp - 8], 0x1fcd6
jg 0x4067fe
jl 0x4067d9
cmp dword [ebp - 0xc], 0x5a3112b3
jae 0x4067fe
push 0xc1
push 0x7f
push 0x96
push 0x5a
push 0xa7
push 0xd0
call fcn.00409ea0
add esp, 0x18
jmp 0x4068de
mov eax, dword [ebp - 0xc]
xor eax, 0x5a30df4b
mov ecx, dword [ebp - 8]
xor ecx, 0x1fcd6
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], ecx
cmp dword [ebp - 0x1ac], 0x1fcd6
jg 0x406851
jl 0x406835
cmp dword [ebp - 0x1b0], 0x5a3105bd
jae 0x406851
mov edx, dword [ebp - 0xc]
or edx, 0x5a30be87
mov eax, dword [ebp - 8]
or eax, 0x1fcd6
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
jmp 0x4068de
mov ecx, dword [ebp - 0xc]
and ecx, 0x5a310751
mov edx, dword [ebp - 8]
and edx, 0x1fcd6
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 0x1fcd6
jl 0x4068a8
jg 0x406889
cmp dword [ebp - 0x1b8], 0x5a30c4fb
jbe 0x4068a8
push 0x3a
push 0x4f
push 0x87
push 0x12
push 0xd0
push 0xd1
call fcn.00409f70
add esp, 0x18
jmp 0x4068de
movzx eax, byte [ebp - 1]
cmp eax, 0x2b
jne 0x4068c6
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0xb
call fcn.0040a110
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
jmp 0x4068de
mov ecx, dword [ebp - 0xc]
add ecx, 0x5a310bb9
mov edx, dword [ebp - 8]
adc edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 0xe8], 0x86ea
jmp 0x40694d
mov eax, dword [ebp - 0xc]
and eax, 0x5a30f3bb
mov ecx, dword [ebp - 8]
and ecx, 0x1fcd6
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
push 0xd4
push 0xc0
push 0x13
push 5
push 0xb2
push 0xd7
call fcn.00409ea0
add esp, 0x18
jmp 0x40694d
movzx edx, byte [ebp - 1]
and edx, 0x27
mov byte [ebp - 1], dl
push 0x8e
push 0x80
push 0x5c
push 0x21
push 0xba
push 0xfe
call fcn.00409ea0
add esp, 0x18
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], ecx
cmp dword [ebp - 0x1c0], 0x80000000
jne 0x406977
cmp dword [ebp - 0x1bc], 0x2d185527
je 0x40697c
jmp 0x406a4c
push 2
mov edx, dword [ebp - 0x11c]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x41797c], eax
mov eax, dword [ebp - 0x18]
shl eax, 7
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xe4], 0x85b8
movsx ecx, byte [ebp - 2]
sub ecx, 0x2d
mov byte [ebp - 2], cl
push ecx
movss xmm0, dword [0x40114c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010f0]
movss dword [esp], xmm0
push 0x17
push 0xcf
push 0x98
mov edx, dword [ebp - 0xec]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417980], eax
push ecx
movss xmm0, dword [0x401168]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401178]
movss dword [esp], xmm0
push 0x84
push pe_nt_image_headers32
push 0xad
mov eax, dword [ebp - 0xec]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417984], eax
push 1
mov ecx, dword [ebp - 0x14c]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417988], eax
push 2
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417988], eax
cmp dword [ebp - 0x18], 0x13f3
jbe 0x4095c3
movsx eax, byte [ebp - 2]
cmp eax, 0x2b
jne 0x406aaf
push 6
push 0x91
push 0xa8
push 0x6f
push 0x3a
push 0x69
call fcn.00409ea0
add esp, 0x18
mov ecx, dword [ebp - 0x18]
shr ecx, 0x15
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
movzx ecx, byte [ebp - 1]
push ecx
movzx edx, byte [ebp - 1]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040a0a0
add esp, 0x20
mov dword [ebp - 0xf0], 0x624f
movsx ecx, byte [ebp - 2]
or ecx, 0x2b
mov byte [ebp - 0x11], cl
movzx edx, byte [ebp - 1]
or edx, 0x2d
mov byte [section..data], dl
push ecx
movss xmm0, dword [0x4010c4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401074]
movss dword [esp], xmm0
push 0x5b
push 0x97
push 0x5a
mov eax, dword [ebp - 0xb0]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x41798c], eax
push ecx
movss xmm0, dword [0x40111c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401144]
movss dword [esp], xmm0
push 0xe
push pe_nt_image_headers32
push 0x5e
mov ecx, dword [ebp - 0x11c]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417990], eax
mov edx, dword [ebp - 0x10]
xor edx, 0x1fb7
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x30]
and eax, 0x57626f65
mov ecx, dword [ebp - 0x2c]
and ecx, 0x1ddb7
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x18]
shr edx, 7
mov dword [0x417004], edx
cmp dword [ebp - 0xe0], 0xfd13
jb 0x406caa
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 0x37
call fcn.0040a110
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0xe0]
sub eax, 0xf2
mov dword [ebp - 0xe0], eax
movsx ecx, byte [ebp - 2]
sub ecx, 0x2d
mov byte [ebp - 0x11], cl
push 7
mov edx, dword [ebp - 0x150]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417978], eax
movzx eax, byte [ebp - 1]
add eax, 0x2d
mov byte [section..data], al
movzx ecx, byte [ebp - 1]
add ecx, 0x2d
mov byte [section..data], cl
movsx edx, byte [ebp - 0x11]
shl edx, 3
mov byte [ebp - 2], dl
movzx eax, byte [ebp - 1]
or eax, 0x2f
mov byte [section..data], al
push ecx
movss xmm0, dword [0x40109c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010e4]
movss dword [esp], xmm0
push 0xc5
push 0x11
push 0xd9
mov ecx, dword [ebp - 0xb0]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417994], eax
push 4
mov edx, dword [ebp - 0xb8]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417978], eax
push 3
mov eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417998], eax
mov ecx, dword [0x417004]
sub ecx, 0x2e37
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x10]
xor edx, 0x16b3
mov dword [ebp - 0x10], edx
push ecx
movss xmm0, dword [0x40105c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010e8]
movss dword [esp], xmm0
push 0x9f
push 0x82
push 0x17
mov eax, dword [ebp - 0xcc]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417984], eax
jmp 0x406b6d
cmp dword [ebp - 0xe4], 0x8bdf
je 0x406e66
mov ecx, dword [ebp - 0x10]
and ecx, 0x153f
mov dword [ebp - 0x10], ecx
movzx edx, byte [ebp - 1]
sar edx, 3
mov byte [section..data], dl
push ecx
movss xmm0, dword [0x401128]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010c0]
movss dword [esp], xmm0
push 0x9e
push 0x49
push 0x29
mov eax, dword [ebp - 0xec]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x41799c], eax
push 5
mov ecx, dword [ebp - 0x24c]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x41797c], eax
movzx edx, byte [section..data]
sar edx, 7
mov byte [ebp - 1], dl
push ecx
movss xmm0, dword [0x401098]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010b0]
movss dword [esp], xmm0
push 3
push 0x49
push 0x21
mov eax, dword [ebp - 0xb0]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179a0], eax
push 3
mov ecx, dword [ebp - 0x250]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x41797c], eax
mov edx, dword [ebp - 0x18]
add edx, 0x295b
mov dword [0x417004], edx
push 3
mov eax, dword [ebp - 0x14c]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179a4], eax
mov ecx, dword [ebp - 0xe4]
add ecx, 0xe1
mov dword [ebp - 0xe4], ecx
movsx edx, byte [ebp - 0x11]
and edx, 0x2d
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0x18]
xor eax, 0x1a3b
mov dword [0x417004], eax
mov ecx, dword [0x417004]
shl ecx, 9
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
or edx, 0x9e7
mov dword [0x417004], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x5a30abc5
mov ecx, dword [ebp - 8]
sbb ecx, 0x1fcd6
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
movzx edx, byte [section..data]
sub edx, 0x2d
mov byte [ebp - 1], dl
mov eax, dword [0x417004]
xor eax, 0xdcf
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 0x2b
call fcn.0040a160
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
push ecx
movss xmm0, dword [0x401064]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401180]
movss dword [esp], xmm0
push 0x61
push 0x60
push 0xb9
mov ecx, dword [ebp - 0x124]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x41798c], eax
mov edx, dword [ebp - 0x10]
or edx, 0x1c1d
mov dword [ebp - 0x10], edx
jmp 0x406caa
cmp dword [ebp - 0xe8], 0x8a12
jae 0x406fa7
mov eax, dword [ebp - 0xe8]
add eax, 0xca
mov dword [ebp - 0xe8], eax
movzx ecx, byte [ebp - 1]
shl ecx, 7
mov byte [section..data], cl
movzx edx, byte [section..data]
add edx, 0x2d
mov byte [ebp - 1], dl
mov eax, dword [0x417004]
and eax, 0x2a65
mov dword [ebp - 0x18], eax
push 2
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179a8], eax
push ecx
movss xmm0, dword [0x401130]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401084]
movss dword [esp], xmm0
push 0x72
push 0xa7
push 0x68
mov edx, dword [ebp - 0x128]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417990], eax
mov eax, dword [ebp - 0x30]
and eax, 0x57621225
mov ecx, dword [ebp - 0x2c]
and ecx, 0x1ddb7
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
movzx edx, byte [ebp - 1]
shl edx, 3
mov byte [section..data], dl
mov eax, dword [ebp - 0x10]
sub eax, 0x1c01
mov dword [ebp - 0x10], eax
push 0
mov ecx, dword [ebp - 0x128]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179ac], eax
movzx edx, byte [ebp - 1]
add edx, 0x2f
mov byte [section..data], dl
mov eax, dword [ebp - 0x10]
xor eax, 0x1f25
mov dword [ebp - 0x10], eax
movzx ecx, byte [ebp - 1]
sar ecx, 7
mov byte [section..data], cl
push ecx
movss xmm0, dword [0x40116c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401150]
movss dword [esp], xmm0
push 0x7a
push 0x43
push 0xf0
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417984], eax
movsx eax, byte [ebp - 2]
or eax, 0x33
mov byte [ebp - 0x11], al
jmp 0x406e66
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
movzx edx, word [ebp - 0x20]
or edx, 0x16d
mov word [ebp - 0x20], dx
movsx eax, byte [ebp - 2]
imul ecx, eax, 0x2f
movsx edx, byte [ebp - 0x11]
cmp ecx, edx
jge 0x407095
movzx eax, byte [ebp - 1]
shl eax, 1
mov byte [section..data], al
mov ecx, dword [ebp - 0xc]
add ecx, 0x5a30dff5
mov edx, dword [ebp - 8]
adc edx, 0x1fcd6
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [0x417004]
and ecx, 0x2907
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0xc]
xor edx, 0x5a30f399
mov eax, dword [ebp - 8]
xor eax, 0x1fcd6
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movsx edx, byte [ebp - 0x11]
or edx, 0x2d
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
sbb edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00409f50
add esp, 0x1c
mov edx, dword [ebp - 0x18]
sub edx, 0x1b2f
mov dword [0x417004], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 5
call fcn.0040a130
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
movzx edx, byte [section..data]
or edx, 0x29
mov byte [ebp - 1], dl
jmp 0x4094df
movzx eax, word [ebp - 0x20]
cmp eax, 0x34f
jle 0x407140
mov ecx, dword [ebp - 0xc]
xor ecx, 0x5a30b361
mov edx, dword [ebp - 8]
xor edx, 0x1fcd6
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00409f50
add esp, 0x1c
mov edx, dword [0x417004]
shl edx, 5
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0xc]
add eax, 0x5a31244d
mov ecx, dword [ebp - 8]
adc ecx, 0x1fcd6
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
movzx ecx, byte [ebp - 2]
push ecx
movzx edx, byte [ebp - 0x11]
push edx
movzx eax, byte [ebp - 0x11]
push eax
movzx ecx, byte [ebp - 2]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040a070
add esp, 0x28
jmp 0x4094df
movzx ecx, word [ebp - 0x20]
and ecx, 0x361
cmp ecx, 0x3cb
jle 0x407207
movzx edx, byte [ebp - 1]
and edx, 0x29
mov byte [section..data], dl
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
and edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x10]
xor ecx, 0x1b5d
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x5a30a901
mov eax, dword [ebp - 8]
sbb eax, 0x1fcd6
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movzx edx, byte [section..data]
add edx, 0x2b
mov byte [ebp - 1], dl
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a110
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
movzx eax, byte [ebp - 2]
push eax
movzx ecx, byte [ebp - 2]
push ecx
movzx edx, byte [ebp - 2]
push edx
movzx eax, byte [ebp - 2]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.0040a070
add esp, 0x28
mov eax, dword [ebp - 0x18]
shr eax, 0x1d
mov dword [0x417004], eax
jmp 0x4094df
movzx ecx, word [ebp - 0x20]
sar ecx, 3
cmp ecx, 0x36f
je 0x4090a1
cmp dword [ebp - 0xf0], 0x5f93
jbe 0x4073ef
push ecx
movss xmm0, dword [0x401164]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010d0]
movss dword [esp], xmm0
push 0x9d
push 0x75
push 0xdf
mov edx, dword [ebp - 0x128]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179b0], eax
movzx eax, byte [section..data]
xor eax, 0x29
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x18]
and ecx, 0x202b
mov dword [0x417004], ecx
push 3
mov edx, dword [ebp - 0x114]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417978], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a130
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 0x2b
call fcn.0040a110
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
sub eax, dword [ebp - 0xc]
mov ecx, dword [edx + 4]
sbb ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [0x417004]
add eax, 0x21d7
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x205b
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x1d
call fcn.0040a110
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
movzx edx, byte [section..data]
or edx, 0x25
mov byte [ebp - 1], dl
movzx eax, word [ebp - 0x20]
sub eax, 0x1dd
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0xc]
xor ecx, 0x5a31015b
mov edx, dword [ebp - 8]
xor edx, 0x1fcd6
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
push ecx
movss xmm0, dword [0x401060]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401158]
movss dword [esp], xmm0
push 0xa2
push 0xdc
push 0x3a
mov ecx, dword [ebp - 0xec]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179b4], eax
mov edx, dword [ebp - 0xc]
and edx, 0x5a30a7dd
mov eax, dword [ebp - 8]
and eax, 0x1fcd6
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movsx edx, byte [ebp - 2]
sar edx, 7
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 1]
sar eax, 1
mov byte [section..data], al
mov ecx, dword [ebp - 0xf0]
sub ecx, 0x46
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0x10]
add edx, 0x1f13
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
and ecx, 0x5a30e095
mov edx, dword [eax + 4]
and edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
xor edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x40721a
movzx ecx, word [ebp - 0x20]
cmp ecx, 0x251
jle 0x408faa
movsx edx, byte [ebp - 0x11]
movsx ecx, byte [ebp - 2]
shl edx, cl
mov byte [0x417001], dl
mov eax, dword [ebp - 0x30]
sub eax, 0x57620ad3
mov ecx, dword [ebp - 0x2c]
sbb ecx, 0x1ddb7
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
push 5
mov edx, dword [ebp - 0x254]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x41797c], eax
push 0
mov eax, dword [ebp - 0x114]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179b8], eax
mov dword [ebp - 0x60], 0x417000
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0xf8], 0x1682e5a1
lea eax, [ebp - 0xc]
mov dword [ebp - 0x50], eax
movzx ecx, byte [ebp - 1]
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx]
imul ecx, eax
mov byte [0x417002], cl
mov ecx, dword [ebp - 0x5c]
xor ecx, 0x57620959
mov edx, dword [ebp - 0x58]
xor edx, 0x1ddb7
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x2c]
ja 0x40751b
jb 0x4074b4
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x30]
jae 0x40751b
movzx edx, word [ebp - 0x20]
add edx, 0x399
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 1]
add ecx, edx
mov eax, dword [ebp - 0x60]
mov byte [eax], cl
movzx ecx, byte [0x417002]
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx]
xor ecx, eax
mov byte [section..data], cl
mov ecx, dword [ebp - 0x10]
or ecx, 0x1e5b
mov edx, dword [ebp - 0x40]
mov dword [edx], ecx
push 0xfa
push 0x83
push 0x5f
push 0xdc
push 0xec
push 3
call fcn.00409f70
add esp, 0x18
jmp 0x4077df
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a130
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1d0]
cmp eax, dword [ebp - 0xc]
jne 0x40754f
mov ecx, dword [ebp - 0x1cc]
cmp ecx, dword [ebp - 8]
je 0x407561
mov edx, dword [ebp - 0x40]
mov eax, dword [edx]
sub eax, 0x1f21
mov dword [ebp - 0x10], eax
jmp 0x4077df
mov ecx, dword [ebp - 0x30]
or ecx, 0x576253a5
mov edx, dword [ebp - 0x2c]
or edx, 0x1ddb7
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
cmp eax, dword [ebp - 0x58]
jb 0x4075ab
ja 0x407597
mov ecx, dword [ebp - 0x1d8]
cmp ecx, dword [ebp - 0x5c]
jb 0x4075ab
mov edx, dword [ebp - 0x40]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x10]
shl eax, cl
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
jmp 0x4077df
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
or edx, ecx
movzx eax, byte [section..data]
movzx ecx, byte [0x417002]
imul eax, ecx
cmp edx, eax
jge 0x407671
push ecx
movss xmm0, dword [0x401068]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010d8]
movss dword [esp], xmm0
push 0xf2
push 0x35
push 0x3d
mov edx, dword [ebp - 0x258]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417990], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax]
and edx, dword [ecx]
mov eax, dword [eax + 4]
and eax, dword [ecx + 4]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x8c], 0x417000
push ecx
movss xmm0, dword [0x4010fc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x40106c]
movss dword [esp], xmm0
push 0xe
push 0xbe
push 0xb
mov ecx, dword [ebp - 0xb8]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179bc], eax
movzx edx, word [ebp - 0x20]
sar edx, 7
mov word [0x417008], dx
jmp 0x4077df
mov eax, dword [ebp - 0x10]
and eax, 0x168d
mov ecx, dword [ebp - 0x40]
cmp eax, dword [ecx]
jl 0x407694
mov edx, dword [ebp - 0x40]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x10]
sar eax, cl
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
jmp 0x4077df
mov edx, dword [ebp - 0x50]
mov ecx, dword [edx]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a130
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1e0]
cmp eax, dword [ebp - 0xc]
jne 0x4076c8
mov ecx, dword [ebp - 0x1dc]
cmp ecx, dword [ebp - 8]
je 0x4076e0
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 0x29
call fcn.0040a110
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
jmp 0x4077df
movsx edx, byte [ebp - 0x11]
movsx eax, byte [ebp - 2]
xor edx, eax
movsx ecx, byte [0x417001]
cmp edx, ecx
jg 0x407707
mov edx, dword [ebp - 0x40]
mov eax, dword [edx]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
jmp 0x4077df
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, 0x2c57
div ecx
cmp eax, dword [0x417004]
jne 0x40772f
mov edx, dword [0x417004]
and edx, 0xf5d
mov dword [ebp - 0x18], edx
jmp 0x4077df
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, 0x1ddd
div ecx
cmp edx, dword [0x417004]
ja 0x407756
mov edx, dword [ebp - 0x10]
xor edx, 0x1c45
mov eax, dword [ebp - 0x40]
mov dword [eax], edx
jmp 0x4077df
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x50]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a110
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp - 0x1e4]
cmp eax, dword [ebp - 8]
jl 0x4077bb
jg 0x40778c
mov ecx, dword [ebp - 0x1e8]
cmp ecx, dword [ebp - 0xc]
jbe 0x4077bb
movzx edx, word [ebp - 0x20]
push edx
movzx eax, word [0x417008]
push eax
movzx ecx, word [0x417008]
push ecx
movzx edx, word [0x417008]
push edx
movzx eax, word [0x417008]
push eax
call fcn.0040a0e0
add esp, 0x14
jmp 0x4077df
mov ecx, dword [ebp - 0x10]
sub ecx, 0x1dbb
mov edx, dword [ebp - 0x40]
cmp ecx, dword [edx]
jne 0x4077df
movzx eax, byte [0x417002]
mov ecx, dword [ebp - 0x60]
movzx edx, byte [ecx]
or eax, edx
mov byte [section..data], al
mov eax, dword [ebp - 0xf8]
sub eax, 0x167ee5a1
mov dword [ebp - 0xf8], eax
mov cl, byte [0x417001]
mov byte [ebp - 0x154], cl
cmp byte [ebp - 0x154], 0
je 0x40780a
jmp 0x407894
lea edx, [ebp - 1]
mov dword [ebp - 0xa0], edx
movzx eax, word [ebp - 0x20]
movzx ecx, word [0x417008]
sub eax, ecx
mov word [ebp - 0x34], ax
push 4
mov edx, dword [ebp - 0x158]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417978], eax
lea eax, [ebp - 0x18]
mov dword [0x4179c0], eax
push ecx
movss xmm0, dword [0x4010f8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401138]
movss dword [esp], xmm0
push 0x4b
push 0xff
push 0x3b
mov ecx, dword [ebp - 0x158]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179c4], eax
mov edx, dword [ebp - 0x5c]
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x58]
sbb eax, dword [ebp - 0x2c]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x11]
mov dword [ebp - 0x88], ecx
jmp 0x4078c8
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
movzx edx, byte [0x417002]
push edx
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
call fcn.0040a0a0
add esp, 0x20
mov dword [ebp - 0xac], 0x82c96011
movsx eax, word [0x41700c]
imul ecx, eax, 0x29f
mov word [0x41700c], cx
lea edx, [ebp - 0x10]
mov dword [ebp - 0x84], edx
push 7
mov eax, dword [ebp - 0x25c]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417978], eax
mov ecx, dword [ebp - 0xac]
add ecx, 0x7d398676
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x50]
mov ecx, dword [edx]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a130
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov dword [0x4179c8], 0x417000
push 5
mov eax, dword [ebp - 0xcc]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179cc], eax
movzx ecx, word [ebp - 0x34]
movzx edx, word [0x417008]
or ecx, edx
mov word [ebp - 0x44], cx
lea eax, [ebp - 0x18]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x15c], ecx
movzx edx, word [0x417008]
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 0x161
je 0x407a5e
cmp dword [ebp - 0xf4], 0x1dd
je 0x4079af
cmp dword [ebp - 0xf4], 0x38d
je 0x407a78
jmp 0x407a8e
push ecx
movss xmm0, dword [0x401114]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401104]
movss dword [esp], xmm0
push 0x23
push 0xb
push 0x11
mov eax, dword [ebp - 0x120]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179b0], eax
push ecx
movss xmm0, dword [0x4010a4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401118]
movss dword [esp], xmm0
push 0x9f
push 0xe7
push 0xd3
mov ecx, dword [ebp - 0x120]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179d0], eax
mov edx, dword [ebp - 0x88]
movsx eax, byte [edx]
movsx ecx, byte [0x417001]
xor eax, ecx
mov byte [ebp - 0x22], al
movsx eax, word [0x41700c]
cdq
mov ecx, 0x2a1
idiv ecx
mov word [ebp - 0x38], dx
push 5
mov edx, dword [ebp - 0x260]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179ac], eax
jmp 0x407a8e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x50]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a110
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
jmp 0x407a8e
mov eax, dword [0x4179c8]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 1]
add ecx, edx
mov eax, dword [ebp - 0x8c]
mov byte [eax], cl
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x19010]
mov dword [ebp - 0x160], edx
push 5
mov eax, dword [ebp - 0x124]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179d4], eax
movzx ecx, word [0x417008]
movzx edx, word [ebp - 0x34]
and ecx, edx
mov word [0x417010], cx
mov dword [ebp - 0x138], 0x417004
mov eax, dword [ebp - 0x15c]
push eax
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xf8]
push edx
call dword [ebp - 0x160]
mov dword [ebp - 0xd8], eax
push ecx
movss xmm0, dword [0x40115c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010ec]
movss dword [esp], xmm0
push 0xd1
push 0xd
push 0x38
mov eax, dword [ebp - 0x264]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179b4], eax
mov ecx, dword [ebp - 0x5c]
and ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x58]
and edx, dword [ebp - 0x2c]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
lea eax, [ebp - 0x11]
mov dword [0x4179d8], eax
movsx ecx, word [0x41700c]
movsx edx, word [ebp - 0x38]
xor ecx, edx
mov word [ebp - 0x28], cx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
push ecx
movss xmm0, dword [0x4010ac]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401100]
movss dword [esp], xmm0
push 0x50
push 0x44
push 0xcf
mov edx, dword [ebp - 0x114]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179dc], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x6c]
sbb ecx, dword [ebp - 0x78]
mov dword [0x417018], eax
mov dword [0x41701c], ecx
lea edx, [ebp - 1]
mov dword [ebp - 0x9c], edx
push 2
mov eax, dword [ebp - 0x268]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x41797c], eax
mov dword [ebp - 0x4c], 0x44d4ab9c
movzx ecx, word [ebp - 0x34]
movzx edx, word [ebp - 0x20]
add ecx, edx
mov word [ebp - 0x44], cx
mov dword [0x4179e0], 0x417004
push ecx
movss xmm0, dword [0x401050]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401184]
movss dword [esp], xmm0
push 0xdf
push 0x71
push 0x18
mov eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179e4], eax
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x5c]
call fcn.0040a110
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
lea ecx, [ebp - 0x22]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0xd4], 0xcc
push 5
mov edx, dword [ebp - 0x130]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x41797c], eax
movsx eax, word [0x41700c]
movsx ecx, word [ebp - 0x28]
cdq
idiv ecx
mov word [0x417020], ax
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ecx]
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov ecx, dword [ebp + 8]
add ecx, 0x26860
mov dword [ebp - 0x134], ecx
push ecx
movss xmm0, dword [0x401108]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401170]
movss dword [esp], xmm0
push 0x11
push 0xcb
push 0xc3
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179e8], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov ecx, dword [0x417018]
call fcn.0040a130
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov dword [0x4179ec], 0x417000
push 0
mov eax, dword [ebp - 0x26c]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179d4], eax
movzx ecx, word [0x417010]
movzx edx, word [0x417008]
or ecx, edx
mov word [ebp - 0x34], cx
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0xc4], eax
push 0
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179f0], eax
lea edx, [ebp - 0x18]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x68]
or eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x64]
or ecx, dword [ebp - 0x2c]
mov dword [str.9ibW], eax
mov dword [0x41702c], ecx
mov dword [ebp - 0x90], 0x417001
movsx edx, word [ebp - 0x38]
movsx ecx, word [ebp - 0x28]
shl edx, cl
mov word [ebp - 0x80], dx
push ecx
movss xmm0, dword [0x4010f4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401088]
movss dword [esp], xmm0
push 0xa1
push 0x77
push 0x44
mov eax, dword [ebp - 0x144]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x41799c], eax
mov dword [ebp - 0xfc], 0xd0114
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ecx + 4]
and ecx, dword [edx + 4]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], ecx
mov edx, dword [0x4179ec]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 1]
sar eax, cl
mov ecx, dword [ebp - 0x60]
mov byte [ecx], al
push 1
mov edx, dword [ebp - 0xb0]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179f4], eax
movzx eax, word [0x417010]
movzx ecx, word [ebp - 0x20]
imul eax, ecx
mov word [0x417030], ax
mov dword [ebp - 0xa4], 0x417004
mov edx, dword [ebp - 0xfc]
or edx, 0x120228
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0x5c]
xor eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x58]
xor ecx, dword [ebp - 0x94]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
push ecx
movss xmm0, dword [0x4010bc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401078]
movss dword [esp], xmm0
push 0x78
push 0x8a
push 0xb5
mov edx, dword [ebp - 0x270]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x41798c], eax
lea eax, [ebp - 2]
mov dword [0x4179f8], eax
movsx ecx, word [0x417020]
movsx edx, word [ebp - 0x28]
sub ecx, edx
mov word [ebp - 0x48], cx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x54]
mov dword [edx], ecx
push 5
mov eax, dword [ebp - 0x120]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179fc], eax
mov ecx, dword [ebp - 0xd4]
cmp ecx, dword [ebp - 0xfc]
jae 0x4088b6
push ecx
movss xmm0, dword [0x40108c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010c8]
movss dword [esp], xmm0
push 0xbb
push 0xa3
push 0x9b
mov edx, dword [ebp - 0x220]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417980], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax]
add edx, dword [ecx]
mov eax, dword [eax + 4]
adc eax, dword [ecx + 4]
mov dword [0x417018], edx
mov dword [0x41701c], eax
mov ecx, dword [0x4179ec]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xa0]
movzx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x60]
mov byte [eax], dl
movzx ecx, word [ebp - 0x34]
movzx edx, word [0x417008]
sub ecx, edx
mov word [ebp - 0x20], cx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [0x417004]
xor ecx, dword [eax]
mov edx, dword [0x4179c0]
mov dword [edx], ecx
mov eax, dword [str.9ibW]
mov edx, dword [0x41702c]
mov ecx, dword [ebp - 0x30]
call fcn.0040a110
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x88]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x74]
movsx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0x90]
mov byte [edx], cl
push 6
mov eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a00], eax
mov ecx, dword [ebp - 0xc4]
mov dl, byte [ecx]
mov byte [ebp - 0x21], dl
movsx eax, byte [0x417001]
mov ecx, dword [ebp - 0x74]
movsx ecx, byte [ecx]
sar eax, cl
mov edx, dword [0x4179f8]
mov byte [edx], al
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x84]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x10], edx
push ecx
movss xmm0, dword [0x40110c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401140]
movss dword [esp], xmm0
push 0xa0
push 0xf9
push 0xba
mov eax, dword [ebp - 0x224]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179c4], eax
mov ecx, dword [0x417018]
xor ecx, dword [ebp - 0x7c]
mov edx, dword [0x41701c]
xor edx, dword [ebp - 0x78]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
movzx eax, byte [ebp - 1]
mov ecx, dword [0x4179c8]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [0x4179ec]
mov byte [ecx], al
push 4
mov edx, dword [ebp - 0x124]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a04], eax
movzx eax, byte [ebp - 0x21]
sub eax, dword [ebp - 0x4c]
mov byte [ebp - 0x21], al
movzx ecx, word [ebp - 0x44]
movzx edx, word [ebp - 0x34]
and ecx, edx
mov word [ebp - 0x20], cx
mov eax, dword [ebp - 0x18]
mov ecx, dword [0x417004]
shl eax, cl
mov ecx, dword [ebp - 0xa4]
mov dword [ecx], eax
push ecx
movss xmm0, dword [0x40113c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010dc]
movss dword [esp], xmm0
push 0x5b
push 0x19
push 0xdf
mov edx, dword [ebp - 0x168]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179b0], eax
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x58]
or ecx, dword [ebp - 0x2c]
mov dword [str.9ibW], eax
mov dword [0x41702c], ecx
mov edx, dword [ebp - 0x88]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 2]
sub eax, ecx
mov edx, dword [ebp - 0x90]
mov byte [edx], al
movzx eax, byte [ebp - 0x21]
add eax, dword [ebp - 0x4c]
mov byte [ebp - 0x21], al
mov ecx, dword [0x417004]
sub ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0xd0]
mov dword [edx], ecx
mov eax, dword [0x4179c0]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax]
shl edx, cl
mov dword [0x417004], edx
push 5
mov eax, dword [ebp - 0x130]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a08], eax
push ecx
movss xmm0, dword [0x401174]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401160]
movss dword [esp], xmm0
push 0x5e
push 0xc7
push 0x42
mov ecx, dword [ebp - 0x12c]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179c4], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ecx]
call fcn.0040a130
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], edx
mov edx, dword [0x4179c8]
movzx eax, byte [edx]
mov ecx, dword [0x4179ec]
movzx edx, byte [ecx]
or eax, edx
mov ecx, dword [ebp - 0x8c]
mov byte [ecx], al
movzx edx, word [ebp - 0x44]
movzx eax, word [0x417010]
xor edx, eax
mov word [0x417008], dx
mov ecx, dword [ebp - 0x18]
add ecx, dword [0x417004]
mov edx, dword [ebp - 0xd0]
mov dword [edx], ecx
mov eax, dword [str.9ibW]
and eax, dword [ebp - 0x68]
mov ecx, dword [0x41702c]
and ecx, dword [ebp - 0x64]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
movzx edx, byte [ebp - 0x21]
sub edx, dword [ebp - 0x4c]
mov byte [ebp - 0x21], dl
movsx eax, byte [ebp - 0x22]
movsx ecx, byte [0x417001]
and eax, ecx
mov edx, dword [0x4179d8]
mov byte [edx], al
push 4
mov eax, dword [ebp - 0x11c]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a0c], eax
movsx ecx, word [ebp - 0x80]
movsx edx, word [0x417020]
sub ecx, edx
mov word [ebp - 0x38], cx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x54]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0x21]
mov byte [eax], cl
mov edx, dword [ebp - 0x70]
xor edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
xor eax, dword [ebp - 0x78]
mov dword [0x417018], edx
mov dword [0x41701c], eax
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ecx]
mov eax, dword [0x4179c8]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0x8c]
mov byte [ecx], dl
push ecx
movss xmm0, dword [0x401090]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401058]
movss dword [esp], xmm0
push 0x55
push 0xb5
push 0x8a
mov edx, dword [ebp - 0x228]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179e8], eax
movzx eax, word [0x417008]
movzx ecx, word [ebp - 0x44]
sar eax, cl
mov word [ebp - 0x34], ax
mov ecx, dword [0x417004]
or ecx, dword [ebp - 0x18]
mov edx, dword [0x4179e0]
mov dword [edx], ecx
push ecx
movss xmm0, dword [0x4010a8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x40112c]
movss dword [esp], xmm0
push 0x2a
push 0x5e
push 0xe
mov eax, dword [ebp - 0xcc]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417a10], eax
mov ecx, dword [ebp - 0x30]
or ecx, dword [str.9ibW]
mov edx, dword [ebp - 0x2c]
or edx, dword [0x41702c]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x74]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x22]
xor ecx, edx
mov eax, dword [ebp - 0x88]
mov byte [eax], cl
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
movsx edx, word [0x41700c]
movsx eax, word [ebp - 0x28]
and edx, eax
mov word [0x417020], dx
push 3
mov ecx, dword [ebp - 0x22c]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a0c], eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x10]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xc]
call fcn.0040a110
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov edx, dword [0x4179ec]
movzx eax, byte [edx]
movzx ecx, byte [section..data]
sub eax, ecx
mov edx, dword [0x4179ec]
mov byte [edx], al
movzx eax, word [0x417010]
movzx ecx, word [ebp - 0x44]
add eax, ecx
mov word [ebp - 0x34], ax
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x18]
add eax, dword [0x417004]
mov ecx, dword [ebp - 0x138]
mov dword [ecx], eax
push ecx
movss xmm0, dword [0x40117c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401148]
movss dword [esp], xmm0
push 0x3d
push 0x7d
push 0x70
mov edx, dword [ebp - 0x12c]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417a14], eax
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x30]
call fcn.0040a110
mov dword [str.9ibW], eax
mov dword [0x41702c], edx
mov eax, dword [0x4179f8]
movsx ecx, byte [eax]
mov edx, dword [0x4179d8]
movsx eax, byte [edx]
or ecx, eax
mov edx, dword [ebp - 0x74]
mov byte [edx], cl
mov eax, dword [ebp - 0x4c]
sub eax, 0x9705
mov dword [ebp - 0x4c], eax
push 0
mov ecx, dword [ebp - 0x230]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179b8], eax
movsx edx, word [0x417020]
movsx eax, word [ebp - 0x28]
sub edx, eax
mov word [ebp - 0x38], dx
movsx ecx, byte [0x417001]
mov edx, dword [ebp - 0x74]
movsx eax, byte [edx]
xor ecx, eax
mov edx, dword [0x4179f8]
mov byte [edx], cl
push ecx
movss xmm0, dword [0x401094]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010d4]
movss dword [esp], xmm0
push 0x23
push 0x6c
push 0x9e
mov eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417a18], eax
imul ecx, dword [ebp - 0x4c], 0xe2ed
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0xc0]
and edx, dword [0x417018]
mov eax, dword [ebp - 0xbc]
and eax, dword [0x41701c]
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x9c]
mov byte [ecx], dl
push 2
mov edx, dword [ebp - 0x234]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x4179ac], eax
movzx eax, word [0x417008]
movzx ecx, word [ebp - 0x20]
sar eax, cl
mov word [0x417010], ax
mov ecx, dword [0x4179c0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xb4]
add edx, dword [eax]
mov ecx, dword [ebp - 0xa4]
mov dword [ecx], edx
mov edx, dword [ebp - 0x4c]
add edx, 0xd595
mov dword [ebp - 0x4c], edx
mov eax, dword [str.9ibW]
and eax, dword [ebp - 0x98]
mov ecx, dword [0x41702c]
and ecx, dword [ebp - 0x94]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
push ecx
movss xmm0, dword [0x4010b4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401124]
movss dword [esp], xmm0
push 0x6d
push 0xec
push 0x25
mov edx, dword [ebp - 0xcc]
push edx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417a1c], eax
mov eax, dword [ebp - 0x88]
movsx ecx, byte [eax]
movsx edx, byte [0x417001]
xor ecx, edx
mov eax, dword [0x4179d8]
mov byte [eax], cl
push 3
mov ecx, dword [ebp - 0x164]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a08], eax
movsx edx, word [ebp - 0x28]
movsx ecx, word [ebp - 0x48]
shl edx, cl
mov word [ebp - 0x38], dx
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x40]
mov edx, dword [eax]
or edx, dword [ecx]
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c]
sub ecx, 0xa4eb
mov dword [ebp - 0x4c], ecx
push 5
mov edx, dword [ebp - 0xb0]
push edx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a20], eax
push ecx
movss xmm0, dword [0x4010a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x40107c]
movss dword [esp], xmm0
push 0x60
push 0x9c
push 0x43
mov eax, dword [ebp - 0x238]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x41799c], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 8]
sbb edx, dword [ebp - 0x6c]
mov dword [0x417018], ecx
mov dword [0x41701c], edx
movzx eax, byte [ebp - 1]
movzx ecx, byte [0x417002]
sub eax, ecx
mov edx, dword [ebp - 0xa0]
mov byte [edx], al
movzx eax, word [0x417008]
movzx ecx, word [ebp - 0x34]
xor eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x417004]
shr edx, cl
mov eax, dword [0x4179c0]
mov dword [eax], edx
push 0
mov ecx, dword [ebp - 0x130]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a24], eax
mov edx, dword [ebp - 0x5c]
or edx, dword [str.9ibW]
mov eax, dword [ebp - 0x58]
or eax, dword [0x41702c]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
imul ecx, dword [ebp - 0x4c], 0x29a3
mov dword [ebp - 0x4c], ecx
movsx edx, byte [0x417001]
movsx ecx, byte [ebp - 0x11]
shl edx, cl
mov eax, dword [ebp - 0x74]
mov byte [eax], dl
movsx ecx, word [ebp - 0x38]
movsx edx, word [0x417020]
add ecx, edx
mov word [0x41700c], cx
push ecx
movss xmm0, dword [0x401154]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010b8]
movss dword [esp], xmm0
push 0xdd
push 0x23
push 0xbe
mov eax, dword [ebp - 0x16c]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417984], eax
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x10]
and edx, dword [ecx]
mov eax, dword [ebp - 0x40]
mov dword [eax], edx
push 6
mov ecx, dword [ebp - 0x164]
push ecx
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a28], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx]
and eax, dword [ebp - 0x7c]
mov ecx, dword [edx + 4]
and ecx, dword [ebp - 0x78]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
movzx edx, byte [0x417002]
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [0x4179ec]
mov byte [ecx], dl
mov edx, dword [ebp - 0x4c]
sub edx, 0x50f3
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x40]
mov dword [edx], ecx
push ecx
movss xmm0, dword [0x401120]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401070]
movss dword [esp], xmm0
push 0xdb
push 0xfb
push 0x91
mov eax, dword [ebp - 0x23c]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x4179c4], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [0x417004]
add edx, dword [ecx]
mov dword [ebp - 0x18], edx
push ecx
movss xmm0, dword [0x401110]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401134]
movss dword [esp], xmm0
push 0xeb
push 0xd8
push 0x18
mov eax, dword [ebp - 0x168]
push eax
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417a2c], eax
mov ecx, dword [ebp - 0x5c]
xor ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x58]
xor edx, dword [ebp - 0x64]
mov dword [str.9ibW], ecx
mov dword [0x41702c], edx
movsx eax, byte [ebp - 0x22]
mov ecx, dword [ebp - 0x90]
movsx ecx, byte [ecx]
sar eax, cl
mov edx, dword [ebp - 0x74]
mov byte [edx], al
push 5
mov eax, dword [ebp - 0x240]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a08], eax
mov ecx, dword [ebp - 0xd4]
add ecx, 0x2990
mov dword [ebp - 0xd4], ecx
movsx edx, word [ebp - 0x80]
movsx eax, word [ebp - 0x48]
or edx, eax
mov word [ebp - 0x28], dx
movsx ecx, byte [0x417001]
mov edx, dword [0x4179d8]
movsx eax, byte [edx]
or ecx, eax
mov edx, dword [0x4179f8]
mov byte [edx], cl
push 1
mov eax, dword [ebp - 0x16c]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417a30], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x70]
and edx, dword [ecx]
mov eax, dword [ebp - 0x6c]
and eax, dword [ecx + 4]
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
jmp 0x407eb9
push ecx
movss xmm0, dword [0x401054]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x4010e0]
movss dword [esp], xmm0
push 0x1b
push 0xf0
push 0x69
mov ecx, dword [ebp - 0x244]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417980], eax
movzx edx, byte [section..data]
movzx ecx, byte [ebp - 1]
sar edx, cl
mov byte [ebp - 0x39], dl
mov dword [0x417a34], 0x417008
lea eax, [ebp - 0x18]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x30]
xor ecx, dword [str.9ibW]
mov edx, dword [ebp - 0x2c]
xor edx, dword [0x41702c]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
lea eax, [ebp - 2]
mov dword [0x417a38], eax
movsx eax, word [0x41700c]
movsx ecx, word [0x417020]
cdq
idiv ecx
mov word [ebp - 0xa8], dx
mov edx, dword [ebp - 0xd8]
add edx, 0xbf
mov dword [ebp - 0x21c], edx
mov al, byte [ebp - 1]
mov byte [ebp - 0x170], al
cmp byte [ebp - 0x170], 0x27
je 0x40896e
jmp 0x4089a9
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
shl edx, cl
mov eax, dword [ebp - 0x84]
mov dword [eax], edx
movzx ecx, word [ebp - 0x48]
push ecx
movzx edx, word [ebp - 0x48]
push edx
movzx eax, word [ebp - 0x28]
push eax
movzx ecx, word [0x41700c]
push ecx
movzx edx, word [ebp - 0x48]
push edx
movzx eax, word [ebp - 0x80]
push eax
call fcn.00409f70
add esp, 0x18
mov ecx, dword [ebp - 0x134]
add ecx, 0xbf
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x417018]
sub eax, dword [edx]
mov ecx, dword [0x41701c]
sbb ecx, dword [edx + 4]
mov dword [0x417038], eax
mov dword [0x41703c], ecx
movzx edx, byte [ebp - 1]
mov eax, dword [0x4179ec]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x9c]
mov byte [eax], dl
push ecx
movss xmm0, dword [0x4010cc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x401080]
movss dword [esp], xmm0
push 0x4c
push 0xf1
push 0x2e
mov ecx, dword [ebp - 0x144]
push ecx
call dword [sym.imp.GDI32.dll_AngleArc]
mov dword [0x417a3c], eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x214], edx
mov eax, dword [0x417a34]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x44]
add ecx, edx
movzx eax, word [ebp - 0x20]
movzx edx, word [0x417010]
xor eax, edx
cmp ecx, eax
jge 0x408a68
mov eax, dword [0x417a34]
movzx ecx, word [eax]
movzx edx, word [0x417008]
or ecx, edx
mov word [ebp - 0x34], cx
jmp 0x408f7c
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x84]
mov edx, dword [eax]
or edx, dword [ecx]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x10]
sub ecx, dword [eax]
cmp edx, ecx
jg 0x408e9f
mov edx, dword [str.9ibW]
mov eax, dword [0x41702c]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x104]
or ecx, dword [ebp - 0x100]
je 0x408ae7
cmp dword [ebp - 0x104], 0x576254cd
jne 0x408ac6
cmp dword [ebp - 0x100], 0x1ddb7
je 0x408d33
cmp dword [ebp - 0x104], 0x57625f45
jne 0x408ae2
cmp dword [ebp - 0x100], 0x1ddb7
je 0x408d19
jmp 0x408d70
mov dword [0x417a40], 0x41700c
mov edx, dword [ebp - 0x18]
or edx, dword [0x417004]
mov eax, dword [0x4179e0]
mov ecx, dword [0x4179c0]
mov eax, dword [eax]
xor eax, dword [ecx]
cmp edx, eax
ja 0x408b12
jmp 0x408d17
mov eax, dword [0x417a40]
movsx eax, word [eax]
movsx ecx, word [0x41700c]
cdq
idiv ecx
mov ecx, eax
movsx eax, word [0x417020]
movsx esi, word [ebp - 0x28]
cdq
idiv esi
cmp ecx, edx
jle 0x408b4d
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x54]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov dword [ebp - 0x10], ecx
jmp 0x408d17
mov edx, dword [0x4179c8]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 1]
shl eax, cl
movzx ecx, byte [ebp - 0x39]
mov edx, dword [0x4179ec]
movzx edx, byte [edx]
add ecx, edx
cmp eax, ecx
jge 0x408b8c
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a110
mov ecx, dword [ebp - 0x50]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x408d17
mov edx, dword [0x417a34]
movzx eax, word [edx]
movzx ecx, word [0x417010]
and eax, ecx
movzx edx, word [ebp - 0x20]
movzx ecx, word [0x417008]
and edx, ecx
cmp eax, edx
jle 0x408bfd
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx]
push eax
movzx ecx, byte [0x417001]
push ecx
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x74]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.0040a070
add esp, 0x28
jmp 0x408d17
mov eax, dword [ebp - 0x7c]
xor eax, dword [0x417038]
mov ecx, dword [ebp - 0x78]
xor ecx, dword [0x41703c]
mov edx, dword [ebp - 0x1c]
mov esi, dword [edx]
sub esi, dword [ebp - 0xc0]
mov edx, dword [edx + 4]
sbb edx, dword [ebp - 0xbc]
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1f8], esi
mov dword [ebp - 0x1f4], edx
mov eax, dword [ebp - 0x1ec]
cmp eax, dword [ebp - 0x1f4]
jg 0x408c6e
jl 0x408c59
mov ecx, dword [ebp - 0x1f0]
cmp ecx, dword [ebp - 0x1f8]
jae 0x408c6e
movzx edx, byte [ebp - 0x39]
movzx eax, byte [ebp - 1]
and edx, eax
mov byte [0x417002], dl
jmp 0x408d17
mov ecx, dword [0x417a40]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x48]
add edx, eax
movsx eax, word [0x417020]
movsx ecx, word [ebp - 0x28]
shl eax, cl
cmp edx, eax
jl 0x408ca9
mov ecx, dword [0x4179d8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x74]
movsx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x88]
mov byte [ecx], dl
jmp 0x408d17
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov ecx, dword [0x417038]
call fcn.0040a130
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x10c]
mov esi, dword [ebp - 8]
or esi, dword [ebp - 0x108]
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], edx
mov dword [ebp - 0x208], ecx
mov dword [ebp - 0x204], esi
mov edx, dword [ebp - 0x1fc]
cmp edx, dword [ebp - 0x204]
jg 0x408d17
jl 0x408d02
mov eax, dword [ebp - 0x200]
cmp eax, dword [ebp - 0x208]
jae 0x408d17
mov ecx, dword [ebp - 0xdc]
mov edx, dword [0x4179c0]
mov eax, dword [ecx]
mov ecx, dword [edx]
shr eax, cl
mov dword [ebp - 0x18], eax
jmp 0x408d86
mov ecx, dword [ebp - 0x9c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
xor edx, ecx
mov eax, dword [0x4179c8]
mov byte [eax], dl
jmp 0x408d86
movzx ecx, word [ebp - 0x28]
push ecx
mov edx, dword [0x417a40]
movzx eax, word [edx]
push eax
movzx ecx, word [0x41700c]
push ecx
mov edx, dword [0x417a40]
movzx eax, word [edx]
push eax
mov ecx, dword [0x417a40]
movzx edx, word [ecx]
push edx
movzx eax, word [0x41700c]
push eax
call fcn.00409f70
add esp, 0x18
jmp 0x408d86
mov ecx, dword [0x4179f8]
movsx edx, byte [ecx]
mov eax, dword [0x4179d8]
movsx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x11], dl
lea edx, [ebp - 0x21c]
push edx
call dword [ebp - 0xd8]
push 7
mov eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [0x417998], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0x1941
je 0x408dd1
cmp dword [ebp - 0x110], 0x3425
je 0x408e80
jmp 0x408e9a
mov edx, dword [0x417a40]
movsx eax, word [edx]
movsx ecx, word [0x41700c]
and eax, ecx
mov word [ebp - 0x38], ax
movzx edx, byte [ebp - 0x39]
mov eax, dword [ebp - 0xa0]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [0x4179c8]
mov byte [ecx], dl
mov edx, dword [0x417018]
or edx, dword [ebp - 0x7c]
mov eax, dword [0x41701c]
or eax, dword [ebp - 0x78]
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x9c]
movzx edx, byte [ecx]
movzx eax, byte [0x417002]
sub edx, eax
mov ecx, dword [ebp - 0xa0]
mov byte [ecx], dl
mov edx, dword [0x417a34]
movzx eax, word [edx]
movzx ecx, word [0x417030]
sub eax, ecx
mov word [0x417010], ax
mov edx, dword [ebp - 0xb4]
mov eax, dword [0x4179c0]
mov edx, dword [edx]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0xdc]
mov dword [eax], edx
mov eax, dword [str.9ibW]
mov edx, dword [0x41702c]
mov ecx, dword [ebp - 0x98]
call fcn.0040a160
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
jmp 0x408e9a
mov ecx, dword [ebp - 0x88]
movsx edx, byte [ecx]
movsx eax, byte [0x417001]
or edx, eax
mov ecx, dword [0x4179f8]
mov byte [ecx], dl
jmp 0x408f7c
movsx edx, word [0x417020]
movsx ecx, word [0x41700c]
shl edx, cl
movsx eax, word [ebp - 0xa8]
movsx ecx, word [ebp - 0x38]
and eax, ecx
cmp edx, eax
jne 0x408edd
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [0x4179e0]
mov dword [edx], ecx
jmp 0x408f7c
movsx eax, word [ebp - 0x38]
movsx ecx, word [ebp - 0x28]
sar eax, cl
movsx edx, word [0x41700c]
movsx ecx, word [0x417020]
sar edx, cl
cmp eax, edx
je 0x408f1b
mov eax, dword [ebp - 0x68]
sub eax, dword [str.9ibW]
mov ecx, dword [ebp - 0x64]
sbb ecx, dword [0x41702c]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
jmp 0x408f7c
movsx edx, byte [ebp - 0x11]
movsx ecx, byte [0x417001]
shl edx, cl
mov eax, dword [ebp - 0x74]
movsx ecx, byte [eax]
mov eax, dword [ebp - 0x90]
movsx eax, byte [eax]
add ecx, eax
cmp edx, ecx
jle 0x408f56
mov ecx, dword [0x4179f8]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x22]
sar edx, cl
mov eax, dword [ebp - 0x88]
mov byte [eax], dl
jmp 0x408f7c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [edx]
push eax
call fcn.00409ea0
add esp, 0x18
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00409ea0
add esp, 0x18
movzx edx, word [ebp - 0x20]
shl edx, 1
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
or edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
movzx ecx, byte [ebp - 1]
sub ecx, 0x2b
mov byte [section..data], cl
mov edx, dword [ebp - 0xc]
sub edx, 0x5a30fd6f
mov eax, dword [ebp - 8]
sbb eax, 0x1fcd6
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00409ed0
add esp, 0xc
mov edx, dword [ebp - 0x30]
xor edx, 0x57624a3d
mov eax, dword [ebp - 0x2c]
xor eax, 0x1ddb7
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x1b
call fcn.0040a130
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
or eax, 0x5a30ea09
mov ecx, dword [edx + 4]
or ecx, 0x1fcd6
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a110
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
movzx edx, byte [ebp - 1]
add edx, 0x2d
mov byte [section..data], dl
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
and edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x30]
and ecx, 0x576263cd
mov edx, dword [ebp - 0x2c]
and edx, 0x1ddb7
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
jmp 0x4094df
movzx eax, byte [ebp - 1]
xor eax, 0x2d
movzx ecx, byte [section..data]
cmp eax, ecx
jne 0x40916f
mov edx, dword [ebp - 0xc]
or edx, 0x5a30f6d3
mov eax, dword [ebp - 8]
or eax, 0x1fcd6
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movzx edx, word [ebp - 0x20]
push edx
movzx eax, word [ebp - 0x20]
push eax
movzx ecx, word [ebp - 0x20]
push ecx
movzx edx, word [ebp - 0x20]
push edx
movzx eax, word [ebp - 0x20]
push eax
call fcn.0040a0e0
add esp, 0x14
movsx ecx, byte [ebp - 0x11]
or ecx, 0x35
mov byte [ebp - 2], cl
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a110
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x10]
and edx, 0x2157
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a130
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
movzx edx, byte [ebp - 1]
xor edx, 0x27
mov byte [section..data], dl
mov eax, dword [ebp - 0xc]
sub eax, 0x5a310309
mov ecx, dword [ebp - 8]
sbb ecx, 0x1fcd6
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [0x417004]
add eax, 0xc19
mov dword [ebp - 0x18], eax
jmp 0x4094df
movsx eax, byte [ebp - 2]
cdq
mov ecx, 0x2f
idiv ecx
movsx eax, byte [ebp - 0x11]
cmp edx, eax
jne 0x409208
mov ecx, dword [ebp - 0xc]
add ecx, 0x5a30ca97
mov edx, dword [ebp - 8]
adc edx, 0x1fcd6
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
movzx ecx, word [ebp - 0x20]
push ecx
movzx edx, word [ebp - 0x20]
push edx
movzx eax, word [ebp - 0x20]
push eax
movzx ecx, word [ebp - 0x20]
push ecx
movzx edx, word [ebp - 0x20]
push edx
call fcn.0040a0e0
add esp, 0x14
movsx eax, byte [ebp - 2]
or eax, 0x2f
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0xc]
sub ecx, 0x5a310729
mov edx, dword [ebp - 8]
sbb edx, 0x1fcd6
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
push 0x22
push 0xd4
push 0x6e
push 9
push 0xfb
push 0x8e
call fcn.00409f70
add esp, 0x18
jmp 0x4094df
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, 0x2f
idiv ecx
movsx edx, byte [ebp - 2]
cmp eax, edx
jle 0x40932b
movzx eax, byte [ebp - 1]
xor eax, 0x29
mov byte [section..data], al
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x33
call fcn.0040a110
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
movzx edx, byte [section..data]
and edx, 0x31
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x15
call fcn.0040a130
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [0x417004]
shr edx, 0x19
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
xor edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
call fcn.00409ea0
add esp, 0x18
mov ecx, dword [ebp - 0x18]
add ecx, 0xd3b
mov dword [0x417004], ecx
mov edx, dword [ebp - 0xc]
and edx, 0x5a3115b5
mov eax, dword [ebp - 8]
and eax, 0x1fcd6
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x10]
shl edx, 5
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
or eax, 0x5a312119
mov ecx, dword [ebp - 8]
or ecx, 0x1fcd6
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
movzx eax, byte [section..data]
sub eax, 0x27
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xc]
mov eax, dword [ecx + 4]
sbb eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00409ed0
add esp, 0xc
jmp 0x4094df
cmp dword [ebp - 0x10], 0x1ea9
jne 0x40940d
mov edx, dword [ebp - 0x18]
shl edx, 5
mov dword [0x417004], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a130
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00409ea0
add esp, 0x18
movsx edx, byte [ebp - 0x11]
or edx, 0x2d
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
xor edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x10]
add ecx, 0x1c83
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
and eax, dword [ebp - 0xc]
mov ecx, dword [edx + 4]
and ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
movzx eax, byte [ebp - 1]
and eax, 0x31
mov byte [section..data], al
mov ecx, dword [ebp - 0xc]
sub ecx, 0x5a310fab
mov edx, dword [ebp - 8]
sbb edx, 0x1fcd6
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00409f50
add esp, 0x1c
jmp 0x4094df
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov cl, 0xb9
call fcn.0040a110
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 0x20c]
cmp eax, dword [ebp - 8]
jl 0x4094df
jg 0x409448
mov ecx, dword [ebp - 0x210]
cmp ecx, dword [ebp - 0xc]
jbe 0x4094df
mov edx, dword [0x417004]
add edx, 0xf33
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0xc]
xor eax, 0x5a30f167
mov ecx, dword [ebp - 8]
xor ecx, 0x1fcd6
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call fcn.00409ed0
add esp, 0xc
movsx eax, byte [ebp - 2]
shl eax, 5
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040a130
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x18]
or edx, 0xd5b
mov dword [0x417004], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
or edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
call fcn.00409ed0
add esp, 0xc
mov ecx, dword [ebp - 0x10]
sub ecx, 0x1a97
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
add eax, dword [ebp - 0xc]
mov ecx, dword [edx + 4]
adc ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
movzx eax, byte [section..data]
add eax, 0x2b
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
xor edx, dword [ebp - 0xc]
mov eax, dword [ecx + 4]
xor eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 0x53
push 0x6b
push 0x23
push 0x57
push 0x29
push 0x12
call fcn.00409f70
add esp, 0x18
mov edx, dword [ebp - 0x18]
or edx, 0xa75
mov dword [0x417004], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x5a30d64f
mov ecx, dword [ebp - 8]
sbb ecx, 0x1fcd6
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
movsx eax, byte [ebp - 0x11]
shl eax, 3
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
and edx, dword [ebp - 0xc]
mov eax, dword [ecx + 4]
and eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x10]
sar edx, 7
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x37
call fcn.0040a130
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00409ea0
add esp, 0x18
jmp 0x409e23
mov edx, dword [ebp - 0x18]
add edx, 0x1091
cmp edx, 0x2ac5
jne 0x40965a
movsx eax, byte [ebp - 2]
xor eax, 0x2b
mov byte [ebp - 2], al
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x2b
call fcn.0040a110
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
movzx edx, byte [ebp - 2]
push edx
movzx eax, byte [ebp - 2]
push eax
movzx ecx, byte [ebp - 2]
push ecx
movzx edx, byte [ebp - 2]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040a070
add esp, 0x28
mov edx, dword [ebp - 0x18]
sub edx, 0xeef
mov dword [ebp - 0x18], edx
push 0xcc
push 0x6f
push 0x94
push 0x7c
push 0x97
push 0xb9
call fcn.00409ea0
add esp, 0x18
jmp 0x409e23
imul eax, dword [ebp - 0x18], 0x2d0f
cmp eax, 0xe8b
jae 0x4096ff
mov ecx, dword [ebp - 0xc]
add ecx, 0x5a30b8e3
mov edx, dword [ebp - 8]
adc edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
movzx edx, byte [ebp - 1]
push edx
movzx eax, byte [ebp - 1]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040a0a0
add esp, 0x20
movzx edx, byte [ebp - 1]
add edx, 0x2f
mov byte [ebp - 1], dl
movsx eax, byte [ebp - 2]
xor eax, 0x2d
mov byte [ebp - 2], al
movsx ecx, byte [ebp - 2]
or ecx, 0x31
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0x18]
sub edx, 0x3085
mov dword [ebp - 0x18], edx
movsx eax, byte [ebp - 2]
shl eax, 3
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0xc]
and ecx, 0x5a30b0df
mov edx, dword [ebp - 8]
and edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
jmp 0x409e23
movzx eax, byte [ebp - 1]
cmp eax, 0x27
jg 0x409774
mov ecx, dword [ebp - 0x18]
shr ecx, 0x17
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
movzx eax, byte [ebp - 2]
push eax
movzx ecx, byte [ebp - 2]
push ecx
movzx edx, byte [ebp - 2]
push edx
movzx eax, byte [ebp - 2]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.0040a070
add esp, 0x28
movsx eax, byte [ebp - 2]
sar eax, 5
mov byte [ebp - 2], al
push 0xa3
push 0x34
push 0x3f
push 0x81
push 0x8f
push 0xaf
call fcn.00409f70
add esp, 0x18
jmp 0x409e23
movzx eax, byte [ebp - 1]
cdq
mov ecx, 0x2d
idiv ecx
cmp edx, 0x2d
jl 0x4097ee
movzx edx, byte [ebp - 1]
shl edx, 3
mov byte [ebp - 1], dl
push 0x8e
push 0xc3
push 0xb8
push 0x7e
push 0xc1
push 0xb9
push 4
call fcn.00409f50
add esp, 0x1c
mov eax, dword [ebp - 0xc]
add eax, 0x5a31162f
mov ecx, dword [ebp - 8]
adc ecx, 0x1fcd6
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
push 0xb6
push 0xbb
push 0xd0
push 0x29
push 0xca
call fcn.0040a0e0
add esp, 0x14
jmp 0x409e23
movsx edx, byte [ebp - 2]
cmp edx, 0x31
jne 0x4098b7
movsx eax, byte [ebp - 2]
and eax, 0x2b
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0xc]
xor ecx, 0x5a30fc65
mov edx, dword [ebp - 8]
xor edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
movsx eax, byte [ebp - 2]
or eax, 0x2b
mov byte [ebp - 2], al
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
movzx edx, byte [ebp - 2]
push edx
movzx eax, byte [ebp - 2]
push eax
movzx ecx, byte [ebp - 2]
push ecx
movzx edx, byte [ebp - 2]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040a070
add esp, 0x28
mov edx, dword [ebp - 0xc]
sub edx, 0x5a30ad81
mov eax, dword [ebp - 8]
sbb eax, 0x1fcd6
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x2571
mov dword [ebp - 0x18], ecx
movzx edx, byte [ebp - 1]
sar edx, 7
mov byte [ebp - 1], dl
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
movzx edx, byte [ebp - 1]
push edx
movzx eax, byte [ebp - 1]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040a0a0
add esp, 0x20
jmp 0x409e23
movsx eax, byte [ebp - 2]
cdq
mov ecx, 0x31
idiv ecx
cmp eax, 0x33
jne 0x40993a
movzx edx, byte [ebp - 1]
or edx, 0x2d
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x18]
xor eax, 0x2e69
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 0x1f
mov dword [ebp - 0x18], ecx
movsx edx, byte [ebp - 2]
add edx, 0x33
mov byte [ebp - 2], dl
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
movzx edx, byte [ebp - 1]
push edx
movzx eax, byte [ebp - 1]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040a0a0
add esp, 0x20
movsx edx, byte [ebp - 2]
and edx, 0x35
mov byte [ebp - 2], dl
push 0xef
push 1
push 0x32
call fcn.00409ed0
add esp, 0xc
jmp 0x409e23
cmp dword [ebp - 0xc], 0x5a30fcd5
jne 0x4099d9
cmp dword [ebp - 8], 0x1fcd6
jne 0x4099d9
mov eax, dword [ebp - 0xc]
and eax, 0x5a30beb1
mov ecx, dword [ebp - 8]
and ecx, 0x1fcd6
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
xor edx, 0x1513
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
movzx ecx, byte [ebp - 2]
push ecx
movzx edx, byte [ebp - 2]
push edx
movzx eax, byte [ebp - 2]
push eax
movzx ecx, byte [ebp - 2]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040a070
add esp, 0x28
movsx ecx, byte [ebp - 2]
sub ecx, 0x31
mov byte [ebp - 2], cl
push 0x5b
push 0x26
push 0x76
push 0x24
push 0xe7
call fcn.0040a0e0
add esp, 0x14
movzx edx, byte [ebp - 1]
add edx, 0x27
mov byte [ebp - 1], dl
jmp 0x409e23
cmp dword [ebp - 0x18], 0x34c5
jae 0x409a5e
push 0xa3
push 0x12
push 0xc1
push 0x69
push 0xd9
push 6
call fcn.00409f70
add esp, 0x18
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 7
call fcn.0040a110
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x1b
call fcn.0040a130
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
movsx eax, byte [ebp - 2]
or eax, 0x2f
mov byte [ebp - 2], al
movsx ecx, byte [ebp - 2]
or ecx, 0x2f
mov byte [ebp - 2], cl
push 0xbe
push 0x9e
push 0x97
push 0x44
push 0xe1
push 0x1d
call fcn.00409ea0
add esp, 0x18
jmp 0x409e23
mov edx, dword [ebp - 0x18]
xor edx, 0x9b9
cmp edx, 0x1693
jne 0x409b29
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 9
call fcn.0040a110
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
push 0x9c
push 0x94
push 0x55
push 0x42
push 0x30
push 0x44
push 0xba
call fcn.00409f50
add esp, 0x1c
mov eax, dword [ebp - 0x18]
and eax, 0x2f35
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x33
call fcn.0040a130
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
movzx ecx, byte [ebp - 1]
xor ecx, 0x2d
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0x18]
sub edx, 0x258d
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
add eax, 0xfcd
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x1827
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
movzx eax, byte [ebp - 2]
push eax
movzx ecx, byte [ebp - 2]
push ecx
movzx edx, byte [ebp - 2]
push edx
movzx eax, byte [ebp - 2]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.0040a070
add esp, 0x28
jmp 0x409e23
mov eax, dword [ebp - 0x18]
shr eax, 0xdd
cmp eax, 0x115f
jbe 0x409bb5
movsx ecx, byte [ebp - 2]
or ecx, 0x33
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0xc]
sub edx, 0x5a30d2f3
mov eax, dword [ebp - 8]
sbb eax, 0x1fcd6
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
push 0x7b
push 0x14
push 0xd8
push 0x33
push 0xb6
push 0x20
call fcn.00409f70
add esp, 0x18
mov ecx, dword [ebp - 0x18]
xor ecx, 0x22d1
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 1
call fcn.0040a110
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
push 0x17
push 0xd4
push 0x84
push 0x3d
push 0xcb
push 0xd1
call fcn.00409f70
add esp, 0x18
jmp 0x409e23
movzx edx, byte [ebp - 1]
cmp edx, 0x27
jge 0x409c35
movzx eax, byte [ebp - 1]
and eax, 0x2d
mov byte [ebp - 1], al
movzx ecx, byte [ebp - 1]
sar ecx, 5
mov byte [ebp - 1], cl
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov cl, 0x2f
call fcn.0040a130
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
movsx edx, byte [ebp - 2]
xor edx, 0x31
mov byte [ebp - 2], dl
push 0x31
push 0x43
push 0xe8
push 0x5c
push 0xf4
push 0xf9
call fcn.00409ea0
add esp, 0x18
movsx eax, byte [ebp - 2]
add eax, 0x2d
mov byte [ebp - 2], al
push 0x38
push 0xfa
push 0xf2
push 0x34
push 0x4f
push 0x62
call fcn.00409ea0
add esp, 0x18
jmp 0x409e23
cmp dword [ebp - 0x18], 0x233f
ja 0x409cee
mov ecx, dword [ebp - 0xc]
and ecx, 0x5a30c9b1
mov edx, dword [ebp - 8]
and edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
shl eax, 0x15
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
movzx eax, byte [ebp - 1]
push eax
movzx ecx, byte [ebp - 1]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.0040a0a0
add esp, 0x20
mov eax, dword [ebp - 0x18]
or eax, 0x3153
mov dword [ebp - 0x18], eax
movzx ecx, byte [ebp - 1]
sub ecx, 0x2b
mov byte [ebp - 1], cl
mov edx, dword [ebp - 0x18]
sub edx, 0x2301
mov dword [ebp - 0x18], edx
movzx eax, byte [ebp - 1]
shl eax, 7
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x18]
shr ecx, 0x11
mov dword [ebp - 0x18], ecx
movsx edx, byte [ebp - 2]
or edx, 0x35
mov byte [ebp - 2], dl
push 0xbc
push 3
push 0xc7
push 0xfd
push 0xd6
call fcn.0040a0e0
add esp, 0x14
jmp 0x409e23
movzx eax, byte [ebp - 1]
cmp eax, 0x2b
jg 0x409d8b
mov ecx, dword [ebp - 0xc]
xor ecx, 0x5a311fe7
mov edx, dword [ebp - 8]
xor edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
add eax, 0x2507
mov dword [ebp - 0x18], eax
movzx ecx, byte [ebp - 1]
and ecx, 0x31
mov byte [ebp - 1], cl
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
movzx ecx, byte [ebp - 1]
push ecx
movzx edx, byte [ebp - 1]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040a0a0
add esp, 0x20
movzx ecx, byte [ebp - 1]
and ecx, 0x2b
mov byte [ebp - 1], cl
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
movzx ecx, byte [ebp - 1]
push ecx
movzx edx, byte [ebp - 1]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040a0a0
add esp, 0x20
jmp 0x409e23
mov ecx, dword [ebp - 0xc]
sub ecx, 0x5a30aae5
mov edx, dword [ebp - 8]
sbb edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
movzx ecx, byte [ebp - 2]
push ecx
movzx edx, byte [ebp - 2]
push edx
movzx eax, byte [ebp - 2]
push eax
movzx ecx, byte [ebp - 2]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040a070
add esp, 0x28
mov ecx, dword [ebp - 0xc]
add ecx, 0x5a30c781
mov edx, dword [ebp - 8]
adc edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
movsx eax, byte [ebp - 2]
xor eax, 0x33
mov byte [ebp - 2], al
push 0x53
push 0x8d
push 0xf4
push 0xb2
push 0xbd
push 0x7e
call fcn.00409ea0
add esp, 0x18
movsx ecx, byte [ebp - 2]
shl ecx, 3
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0xc]
or edx, 0x5a30e641
mov eax, dword [ebp - 8]
or eax, 0x1fcd6
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
and ecx, 0x5a30d815
mov edx, dword [ebp - 8]
and edx, 0x1fcd6
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
push 0xbc
push 0xa5
push 0x1f
push 0x43
push 0x40
push 0x7e
push 0x5b
call fcn.00409f50
add esp, 0x1c
movzx eax, byte [ebp - 1]
sar eax, 7
mov byte [ebp - 1], al
push 0xd
push 0x7e
push 0xe1
call fcn.00409ed0
add esp, 0xc
mov eax, dword [ebp - 0x10]
pop esi
mov esp, ebp
pop ebp
ret 0x10