Function at 0x40a3f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6b4
mov eax, dword [0x452658]
xor eax, esp
mov dword [esp + 0x6b0], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
call fcn.00410800
call fcn.0040b660
test al, al
je 0x40a45b
call fcn.00410800
mov eax, dword [ebp + 0x14]
push eax
mov eax, esi
call fcn.0040d460
push 0
push 0x42c124
push str.KmiFWv
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [esp + 0x6bc]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00413810
mov esp, ebp
pop ebp
ret 0x10
call fcn.00410800
xor esi, esi
push 0x48
mov dword [esp + 0x20], esi
call fcn.004139f1
add esp, 4
cmp eax, esi
je 0x40b632
mov dword [esp + 0x18], eax
mov dword [eax], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 8], eax
mov ecx, dword [esp + 0x18]
mov al, 1
mov byte [ecx + 0x44], al
mov edx, dword [esp + 0x18]
mov byte [edx + 0x45], al
lea eax, [esp + 0x14]
push eax
call fcn.00407f80
lea ecx, [esp + 0x14]
push ecx
call fcn.00408450
lea eax, [esp + 0x128]
call fcn.00409d00
mov dword [esp + 0x10], eax
lea eax, [esp + 0xd4]
call fcn.00409f10
mov dword [esp + 0x40], eax
lea eax, [esp + 0x630]
call fcn.0040a000
mov dword [esp + 0x38], eax
lea eax, [esp + 0x5f8]
call fcn.00409d30
mov dword [esp + 0x30], eax
lea eax, [esp + 0x5c0]
call fcn.00409ee0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x588]
call fcn.00409dc0
mov dword [esp + 0x64], eax
lea eax, [esp + 0x550]
call fcn.00409e50
mov dword [esp + 0x24], eax
lea eax, [esp + 0x518]
call fcn.00409f70
mov dword [esp + 0x68], eax
lea eax, [esp + 0x4e0]
call fcn.00409d60
mov dword [esp + 0x60], eax
lea eax, [esp + 0x4a8]
call fcn.00409d60
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x470]
call fcn.00409e80
mov dword [esp + 0x58], eax
lea eax, [esp + 0x438]
call fcn.00402750
mov dword [esp + 0x44], eax
lea eax, [esp + 0x400]
call fcn.00409d00
mov dword [esp + 0x50], eax
lea eax, [esp + 0x3c8]
call fcn.00409d90
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x390]
call fcn.00402810
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x358]
call fcn.004027b0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x320]
call fcn.00409d30
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x2e8]
call fcn.004027e0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2b0]
call fcn.00409df0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x278]
call fcn.00402720
mov dword [esp + 0x70], eax
lea eax, [esp + 0x240]
call fcn.00409d90
mov dword [esp + 0x48], eax
lea eax, [esp + 0x208]
call fcn.0040a0c0
mov esi, eax
lea eax, [esp + 0x1d0]
call fcn.00409e50
mov edi, eax
lea eax, [esp + 0x198]
call fcn.00409f70
mov ebx, eax
lea eax, [esp + 0x160]
call fcn.00409eb0
push eax
mov edx, 0x42c158
lea eax, [esp + 0x650]
call fcn.00406940
mov ecx, eax
mov eax, ebx
add esp, 4
lea ebx, [esp + 0x3e4]
call fcn.00406990
mov ecx, eax
mov eax, edi
lea ebx, [esp + 0x534]
call fcn.00406990
mov ecx, eax
mov eax, esi
lea ebx, [esp + 0x3ac]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x48]
lea ebx, [esp + 0x5dc]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x70]
lea ebx, [esp + 0x374]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x54]
lea ebx, [esp + 0x4fc]
call fcn.00406990
push eax
mov eax, 0x42c154
lea ecx, [esp + 0x340]
call fcn.00406a20
mov ecx, eax
mov eax, dword [esp + 0x30]
add esp, 4
lea ebx, [esp + 0x684]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x5c]
lea ebx, [esp + 0x304]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x34]
lea ebx, [esp + 0x4c4]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x6c]
lea ebx, [esp + 0x2cc]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x3c]
lea ebx, [esp + 0x5a4]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x50]
lea ebx, [esp + 0x294]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x44]
lea ebx, [esp + 0x48c]
call fcn.00406990
push eax
mov eax, 0x42c150
lea ecx, [esp + 0x148]
call fcn.00406a20
mov ecx, eax
mov eax, dword [esp + 0x5c]
add esp, 4
lea ebx, [esp + 0x614]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x4c]
lea ebx, [esp + 0x224]
call fcn.00406990
push eax
mov eax, 0x42c14c
lea ecx, [esp + 0x458]
call fcn.00406a20
mov ecx, eax
mov eax, dword [esp + 0x64]
add esp, 4
lea ebx, [esp + 0x1ec]
call fcn.00406990
push eax
mov eax, 0x42c148
lea ecx, [esp + 0x570]
call fcn.00406a20
mov ecx, eax
mov eax, dword [esp + 0x6c]
add esp, 4
lea ebx, [esp + 0x1b4]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x24]
lea ebx, [esp + 0x41c]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x64]
lea ebx, [esp + 0x17c]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x28]
lea ebx, [esp + 0x6a0]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x30]
lea ebx, [esp + 0x668]
call fcn.00406990
push eax
mov eax, str.03355
lea ecx, [esp + 0x260]
call fcn.00406a20
mov ecx, eax
mov eax, dword [esp + 0x3c]
add esp, 4
lea ebx, [esp + 0x9c]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x40]
lea ebx, [esp + 0x80]
call fcn.00406990
mov ecx, eax
mov eax, dword [esp + 0x10]
lea ebx, [esp + 0xb8]
call fcn.00406990
mov esi, 8
cmp dword [esp + 0x94], esi
jb 0x40a87c
mov edx, dword [esp + 0x80]
push edx
call fcn.0041381f
add esp, 4
xor ebx, ebx
xor eax, eax
mov edi, 7
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov word [esp + 0x80], ax
cmp dword [esp + 0xb0], esi
jb 0x40a8b4
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov word [esp + 0x9c], dx
cmp dword [esp + 0x270], esi
jb 0x40a8e5
mov eax, dword [esp + 0x25c]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x270], edi
mov dword [esp + 0x26c], ebx
mov word [esp + 0x25c], cx
cmp dword [esp + 0x67c], esi
jb 0x40a916
mov edx, dword [esp + 0x668]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x67c], edi
mov dword [esp + 0x678], ebx
mov word [esp + 0x668], ax
cmp dword [esp + 0x6b4], esi
jb 0x40a947
mov ecx, dword [esp + 0x6a0]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x6b4], edi
mov dword [esp + 0x6b0], ebx
mov word [esp + 0x6a0], dx
cmp dword [esp + 0x190], esi
jb 0x40a978
mov eax, dword [esp + 0x17c]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x190], edi
mov dword [esp + 0x18c], ebx
mov word [esp + 0x17c], cx
cmp dword [esp + 0x430], esi
jb 0x40a9a9
mov edx, dword [esp + 0x41c]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x430], edi
mov dword [esp + 0x42c], ebx
mov word [esp + 0x41c], ax
cmp dword [esp + 0x1c8], esi
jb 0x40a9da
mov ecx, dword [esp + 0x1b4]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x1c4], ebx
mov word [esp + 0x1b4], dx
cmp dword [esp + 0x580], esi
jb 0x40aa0b
mov eax, dword [esp + 0x56c]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x580], edi
mov dword [esp + 0x57c], ebx
mov word [esp + 0x56c], cx
cmp dword [esp + 0x200], esi
jb 0x40aa3c
mov edx, dword [esp + 0x1ec]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x1fc], ebx
mov word [esp + 0x1ec], ax
cmp dword [esp + 0x468], esi
jb 0x40aa6d
mov ecx, dword [esp + 0x454]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x468], edi
mov dword [esp + 0x464], ebx
mov word [esp + 0x454], dx
cmp dword [esp + 0x238], esi
jb 0x40aa9e
mov eax, dword [esp + 0x224]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x238], edi
mov dword [esp + 0x234], ebx
mov word [esp + 0x224], cx
cmp dword [esp + 0x628], esi
jb 0x40aacf
mov edx, dword [esp + 0x614]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x628], edi
mov dword [esp + 0x624], ebx
mov word [esp + 0x614], ax
cmp dword [esp + 0x158], esi
jb 0x40ab00
mov ecx, dword [esp + 0x144]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], ebx
mov word [esp + 0x144], dx
cmp dword [esp + 0x4a0], esi
jb 0x40ab31
mov eax, dword [esp + 0x48c]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x4a0], edi
mov dword [esp + 0x49c], ebx
mov word [esp + 0x48c], cx
cmp dword [esp + 0x2a8], esi
jb 0x40ab62
mov edx, dword [esp + 0x294]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x2a8], edi
mov dword [esp + 0x2a4], ebx
mov word [esp + 0x294], ax
cmp dword [esp + 0x5b8], esi
jb 0x40ab93
mov ecx, dword [esp + 0x5a4]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x5b8], edi
mov dword [esp + 0x5b4], ebx
mov word [esp + 0x5a4], dx
cmp dword [esp + 0x2e0], esi
jb 0x40abc4
mov eax, dword [esp + 0x2cc]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x2dc], ebx
mov word [esp + 0x2cc], cx
cmp dword [esp + 0x4d8], esi
jb 0x40abf5
mov edx, dword [esp + 0x4c4]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x4d8], edi
mov dword [esp + 0x4d4], ebx
mov word [esp + 0x4c4], ax
cmp dword [esp + 0x318], esi
jb 0x40ac26
mov ecx, dword [esp + 0x304]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x318], edi
mov dword [esp + 0x314], ebx
mov word [esp + 0x304], dx
cmp dword [esp + 0x698], esi
jb 0x40ac57
mov eax, dword [esp + 0x684]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x698], edi
mov dword [esp + 0x694], ebx
mov word [esp + 0x684], cx
cmp dword [esp + 0x350], esi
jb 0x40ac88
mov edx, dword [esp + 0x33c]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x350], edi
mov dword [esp + 0x34c], ebx
mov word [esp + 0x33c], ax
cmp dword [esp + 0x510], esi
jb 0x40acb9
mov ecx, dword [esp + 0x4fc]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x510], edi
mov dword [esp + 0x50c], ebx
mov word [esp + 0x4fc], dx
cmp dword [esp + 0x388], esi
jb 0x40acea
mov eax, dword [esp + 0x374]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x388], edi
mov dword [esp + 0x384], ebx
mov word [esp + 0x374], cx
cmp dword [esp + 0x5f0], esi
jb 0x40ad1b
mov edx, dword [esp + 0x5dc]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x5f0], edi
mov dword [esp + 0x5ec], ebx
mov word [esp + 0x5dc], ax
cmp dword [esp + 0x3c0], esi
jb 0x40ad4c
mov ecx, dword [esp + 0x3ac]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x3c0], edi
mov dword [esp + 0x3bc], ebx
mov word [esp + 0x3ac], dx
cmp dword [esp + 0x548], esi
jb 0x40ad7d
mov eax, dword [esp + 0x534]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x548], edi
mov dword [esp + 0x544], ebx
mov word [esp + 0x534], cx
cmp dword [esp + 0x3f8], esi
jb 0x40adae
mov edx, dword [esp + 0x3e4]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x3f8], edi
mov dword [esp + 0x3f4], ebx
mov word [esp + 0x3e4], ax
cmp dword [esp + 0x660], esi
jb 0x40addf
mov ecx, dword [esp + 0x64c]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x660], edi
mov dword [esp + 0x65c], ebx
mov word [esp + 0x64c], dx
cmp dword [esp + 0x174], esi
jb 0x40ae10
mov eax, dword [esp + 0x160]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], ebx
mov word [esp + 0x160], cx
cmp dword [esp + 0x1ac], esi
jb 0x40ae41
mov edx, dword [esp + 0x198]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1a8], ebx
mov word [esp + 0x198], ax
cmp dword [esp + 0x1e4], esi
jb 0x40ae72
mov ecx, dword [esp + 0x1d0]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x1e4], edi
mov dword [esp + 0x1e0], ebx
mov word [esp + 0x1d0], dx
cmp dword [esp + 0x21c], esi
jb 0x40aea3
mov eax, dword [esp + 0x208]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x21c], edi
mov dword [esp + 0x218], ebx
mov word [esp + 0x208], cx
cmp dword [esp + 0x254], esi
jb 0x40aed4
mov edx, dword [esp + 0x240]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x254], edi
mov dword [esp + 0x250], ebx
mov word [esp + 0x240], ax
cmp dword [esp + 0x28c], esi
jb 0x40af05
mov ecx, dword [esp + 0x278]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x28c], edi
mov dword [esp + 0x288], ebx
mov word [esp + 0x278], dx
cmp dword [esp + 0x2c4], esi
jb 0x40af36
mov eax, dword [esp + 0x2b0]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x2c4], edi
mov dword [esp + 0x2c0], ebx
mov word [esp + 0x2b0], cx
cmp dword [esp + 0x2fc], esi
jb 0x40af67
mov edx, dword [esp + 0x2e8]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x2fc], edi
mov dword [esp + 0x2f8], ebx
mov word [esp + 0x2e8], ax
cmp dword [esp + 0x334], esi
jb 0x40af98
mov ecx, dword [esp + 0x320]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x334], edi
mov dword [esp + 0x330], ebx
mov word [esp + 0x320], dx
cmp dword [esp + 0x36c], esi
jb 0x40afc9
mov eax, dword [esp + 0x358]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x36c], edi
mov dword [esp + 0x368], ebx
mov word [esp + 0x358], cx
cmp dword [esp + 0x3a4], esi
jb 0x40affa
mov edx, dword [esp + 0x390]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x3a4], edi
mov dword [esp + 0x3a0], ebx
mov word [esp + 0x390], ax
cmp dword [esp + 0x3dc], esi
jb 0x40b02b
mov ecx, dword [esp + 0x3c8]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x3dc], edi
mov dword [esp + 0x3d8], ebx
mov word [esp + 0x3c8], dx
cmp dword [esp + 0x414], esi
jb 0x40b05c
mov eax, dword [esp + 0x400]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x414], edi
mov dword [esp + 0x410], ebx
mov word [esp + 0x400], cx
cmp dword [esp + 0x44c], esi
jb 0x40b08d
mov edx, dword [esp + 0x438]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x44c], edi
mov dword [esp + 0x448], ebx
mov word [esp + 0x438], ax
cmp dword [esp + 0x484], esi
jb 0x40b0be
mov ecx, dword [esp + 0x470]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x484], edi
mov dword [esp + 0x480], ebx
mov word [esp + 0x470], dx
cmp dword [esp + 0x4bc], esi
jb 0x40b0ef
mov eax, dword [esp + 0x4a8]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x4bc], edi
mov dword [esp + 0x4b8], ebx
mov word [esp + 0x4a8], cx
cmp dword [esp + 0x4f4], esi
jb 0x40b120
mov edx, dword [esp + 0x4e0]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], ebx
mov word [esp + 0x4e0], ax
cmp dword [esp + 0x52c], esi
jb 0x40b151
mov ecx, dword [esp + 0x518]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x52c], edi
mov dword [esp + 0x528], ebx
mov word [esp + 0x518], dx
cmp dword [esp + 0x564], esi
jb 0x40b182
mov eax, dword [esp + 0x550]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x564], edi
mov dword [esp + 0x560], ebx
mov word [esp + 0x550], cx
cmp dword [esp + 0x59c], esi
jb 0x40b1b3
mov edx, dword [esp + 0x588]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x59c], edi
mov dword [esp + 0x598], ebx
mov word [esp + 0x588], ax
cmp dword [esp + 0x5d4], esi
jb 0x40b1e4
mov ecx, dword [esp + 0x5c0]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x5d4], edi
mov dword [esp + 0x5d0], ebx
mov word [esp + 0x5c0], dx
cmp dword [esp + 0x60c], esi
jb 0x40b215
mov eax, dword [esp + 0x5f8]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov dword [esp + 0x60c], edi
mov dword [esp + 0x608], ebx
mov word [esp + 0x5f8], cx
cmp dword [esp + 0x644], esi
jb 0x40b246
mov edx, dword [esp + 0x630]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x644], edi
mov dword [esp + 0x640], ebx
mov word [esp + 0x630], ax
cmp dword [esp + 0xe8], esi
jb 0x40b277
mov ecx, dword [esp + 0xd4]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov word [esp + 0xd4], dx
cmp dword [esp + 0x13c], esi
jb 0x40b2a8
mov eax, dword [esp + 0x128]
push eax
call fcn.0041381f
add esp, 4
lea ecx, [esp + 0xb8]
push ecx
lea edx, [esp + 0x12c]
push edx
call fcn.00412ab0
lea ecx, [esp + 0xdc]
push ecx
mov ecx, eax
call section..text
add esp, 0xc
mov edi, eax
lea esi, [esp + 0xb8]
call fcn.004017c0
mov esi, 8
cmp dword [esp + 0xe8], esi
jb 0x40b2fb
mov edx, dword [esp + 0xd4]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov edi, 7
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov word [esp + 0xd4], ax
cmp dword [esp + 0x13c], esi
jb 0x40b331
mov ecx, dword [esp + 0x128]
push ecx
call fcn.0041381f
add esp, 4
call fcn.004024f0
test al, al
je 0x40b341
mov eax, 0x42c160
jmp 0x40b354
call fcn.00402470
test al, al
mov eax, 0x42c164
jne 0x40b354
mov eax, 0x42c168
xor edx, edx
mov ecx, eax
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], ebx
mov word [esp + 0xf0], dx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x40b371
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0xf4]
call fcn.00401e70
xor eax, eax
mov word [esp + 0x80], ax
push 9
mov eax, 0x42c16c
lea esi, [esp + 0x84]
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebx
call fcn.00401e70
xor ecx, ecx
push 4
mov eax, str.file
lea esi, [esp + 0xa0]
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebx
mov word [esp + 0xa0], cx
call fcn.00401e70
mov edx, esi
push edx
lea edi, [esp + 0x84]
lea ecx, [esp + 0x18]
call fcn.00408e20
mov esi, 8
cmp dword [esp + 0xb0], esi
jb 0x40b414
mov eax, dword [esp + 0x9c]
push eax
call fcn.0041381f
add esp, 4
xor ecx, ecx
mov edi, 7
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov word [esp + 0x9c], cx
cmp dword [esp + 0x94], esi
jb 0x40b44a
mov edx, dword [esp + 0x80]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov word [esp + 0x80], ax
push 6
mov eax, str.dotnet
lea esi, [esp + 0x84]
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebx
call fcn.00401e70
mov ecx, esi
push ecx
lea edi, [esp + 0xf4]
lea ecx, [esp + 0x18]
call fcn.00408e20
mov edi, 8
cmp dword [esp + 0x94], edi
jb 0x40b4a6
mov edx, dword [esp + 0x80]
push edx
call fcn.0041381f
add esp, 4
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x12c]
call fcn.00408b50
push ebx
push eax
or eax, 0xffffffff
lea esi, [esp + 0xc0]
call fcn.00407120
cmp dword [esp + 0x13c], edi
jb 0x40b4e1
mov ecx, dword [esp + 0x128]
push ecx
call fcn.0041381f
add esp, 4
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0xbc]
call fcn.0040d1f0
add esp, 4
mov byte [esp + 0xf], al
xor eax, eax
push ebx
lea ecx, [esp + 0xbc]
mov word [esp + 0x110], ax
push ecx
mov edi, 7
or eax, 0xffffffff
lea ecx, [esp + 0x114]
xor esi, esi
mov dword [esp + 0x128], edi
mov dword [esp + 0x124], ebx
call fcn.00401af0
cmp byte [esp + 0xf], bl
jne 0x40b573
cmp esi, 5
jge 0x40b573
mov edx, esi
and edx, 0x80000001
jns 0x40b54a
dec edx
or edx, 0xfffffffe
inc edx
jne 0x40b55a
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x110]
jmp 0x40b566
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0xbc]
call fcn.0040d1f0
add esp, 4
inc esi
cmp al, bl
je 0x40b536
mov esi, 8
cmp dword [esp + 0x120], esi
jb 0x40b591
mov edx, dword [esp + 0x10c]
push edx
call fcn.0041381f
add esp, 4
xor eax, eax
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov word [esp + 0x10c], ax
cmp dword [esp + 0x104], esi
jb 0x40b5c2
mov ecx, dword [esp + 0xf0]
push ecx
call fcn.0041381f
add esp, 4
xor edx, edx
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], ebx
mov word [esp + 0xf0], dx
cmp dword [esp + 0xcc], esi
jb 0x40b5f3
mov eax, dword [esp + 0xb8]
push eax
call fcn.0041381f
add esp, 4
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], ebx
mov word [esp + 0xb8], cx
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x18]
lea esi, [esp + 0x1c]
call fcn.00409000
mov edx, dword [esp + 0x18]
push edx
call fcn.0041381f
add esp, 4
jmp 0x40a442
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x14], esi
call fcn.004138b2
push 0x4501d0
lea ecx, [esp + 0x78]
push ecx
mov dword [esp + 0x7c], vtable.std::bad_alloc.0
call fcn.0041559b
int3