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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x71c
mov eax, dword [0x4110d8]
xor eax, esp
mov dword [esp + 0x718], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
push edi
mov dword [esp + 0x20], ebx
mov esi, 0xc0000001
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xfc], ebx
mov word [esp + 0x100], 0x1000
mov dword [esp + 0x24], ebx
mov ecx, 0x3c
lea eax, [esp + 0x74]
mov byte [eax], bl
inc eax
dec ecx
jne 0x401ee1
cmp edx, ebx
je 0x401ef2
mov edi, edx
jmp 0x401f73
mov ecx, 0x20a
lea eax, [esp + 0x110]
mov edi, edi
mov byte [eax], bl
inc eax
dec ecx
jne 0x401f00
mov ecx, 8
lea eax, [esp + 0x44]
nop
mov byte [eax], bl
inc eax
dec ecx
jne 0x401f10
push 0x411240
lea edx, [esp + 0x48]
push edx
call dword [0x41392c]
lea eax, [esp + 0x110]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x4c]
push edx
push ebx
mov dword [esp + 0x40], 0x2080000
mov dword [esp + 0x48], ebx
call dword [0x41391c]
cmp eax, ebx
jge 0x401f6c
cmp eax, 0xc0000023
je 0x401f6c
push eax
call dword [0x413938]
push eax
call dword [0x413920]
lea edi, [esp + 0x110]
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0x78], 0x3c
mov dword [esp + 0x7c], 0x40
mov dword [esp + 0x88], 0x41127c
mov dword [esp + 0x94], ebx
call dword [0x4101dc]
test eax, eax
je 0x4022f9
mov edx, dword [esp + 0xac]
lea ecx, [esp + 0x2c]
push ecx
push 0x2000000
push edx
call dword [0x413940]
mov esi, eax
cmp esi, ebx
jl 0x402311
lea ecx, [esp + 0x1c]
push ecx
push 1
push ebx
lea edx, [esp + 0x58]
lea eax, [esp + 0x110]
push edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3c]
push 0xf01ff
push eax
mov dword [esp + 0x11c], 0xc
mov dword [esp + 0x120], 2
mov word [esp + 0x124], bx
mov dword [esp + 0x64], 0x18
mov dword [esp + 0x68], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], ebx
call dword [0x413944]
mov esi, eax
cmp esi, ebx
jl 0x40231d
lea ecx, [esp + 0x24]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x2000
push 1
lea edx, [esp + 0x124]
push edx
call dword [0x413948]
mov esi, eax
cmp esi, ebx
jl 0x40232f
mov eax, dword [esp + 0x24]
push eax
mov dword [esp + 0x44], 0x20
mov dword [esp + 0x40], eax
call dword [0x413950]
mov ecx, dword [esp + 0x1c]
add eax, 8
push eax
lea eax, [esp + 0x40]
push eax
push 0x19
push ecx
call dword [0x413934]
mov esi, eax
cmp esi, ebx
jl 0x402341
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x28]
push edx
push ebx
push ebx
push ebx
push 4
push eax
call dword [0x41394c]
mov esi, eax
cmp esi, ebx
jl 0x40234d
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x14]
push ecx
push 2
push ebx
lea edx, [esp + 0x58]
push edx
push 0xc
push eax
mov dword [esp + 0x2c], ebx
call dword [0x413944]
mov esi, eax
cmp esi, ebx
jl 0x40235f
push 4
lea ecx, [esp + 0x18]
push ecx
push 5
push 0xfffffffffffffffe
call dword [0x413930]
mov esi, eax
cmp esi, ebx
jl 0x402371
mov edx, dword [esp + 0x14]
push edx
call dword [0x41393c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
cmp word [edi], bx
je 0x4022dd
jmp 0x402116
xor ebx, ebx
movzx edx, word [edi]
mov eax, edi
cmp dx, bx
je 0x402134
mov ecx, edx
cmp cx, 0xd
je 0x402134
movzx ecx, word [eax + 2]
add eax, 2
cmp cx, bx
jne 0x402122
xor ebx, ebx
cmp word [eax], 0xd
setne bl
dec ebx
and ebx, eax
jne 0x40217a
mov eax, edi
test dx, dx
je 0x402162
mov ecx, edx
jmp 0x402150
cmp cx, 0xa
je 0x402162
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x402150
xor ebx, ebx
cmp word [eax], 0xa
setne bl
dec ebx
and ebx, eax
jne 0x40217a
push edi
call dword [0x4101a8]
lea ebx, [edi + eax*2]
mov eax, ebx
sub eax, edi
sar eax, 1
cmp eax, 0x200
jb 0x40218c
mov eax, 0x1ff
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x324]
push edi
push eax
call fcn.0040fa08
add esp, 0xc
xor ecx, ecx
mov word [esp + esi + 0x320], cx
mov ecx, 0x44
lea eax, [esp + 0xb0]
mov byte [eax], 0
inc eax
dec ecx
jne 0x4021b7
lea edx, [esp + 0xb0]
push edx
mov dword [esp + 0xb4], 0x44
call dword [0x4101ac]
mov eax, 6
mov word [esp + 0xe0], ax
mov dword [esp + 0xdc], 1
mov ecx, 0x10
lea eax, [esp + 0x64]
mov byte [eax], 0
inc eax
dec ecx
jne 0x4021f8
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0xb4]
push edx
push 0
push 0
push 0
lea eax, [esp + 0x334]
push eax
push 0
push 2
push 0x411290
push 0x4112a0
push 0x4112a8
call dword [0x410008]
mov dword [esp + 0x20], eax
test eax, eax
je 0x4022bf
mov ecx, dword [esp + 0x64]
push 0x2710
push ecx
call dword [0x4100c4]
mov esi, eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x402260
push eax
call dword [0x4100e4]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x40226f
push eax
call dword [0x4100e4]
cmp esi, 0x102
je 0x40229b
movzx eax, word [ebx]
cmp eax, 0xd
je 0x402284
cmp eax, 0xa
jne 0x402289
add ebx, 2
jmp 0x402277
inc dword [esp + 0x18]
cmp word [ebx], 0
mov edi, ebx
jne 0x402114
jmp 0x4022db
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
add edx, 0x210
mov dword [eax], edx
mov dword [ecx], 0x102
mov dword [esp + 0x20], 0
jmp 0x4022db
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
add edx, 0x210
mov dword [eax], edx
call dword [0x4100c8]
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
xor ebx, ebx
push 4
lea edx, [esp + 0x18]
push edx
push 5
push 0xfffffffffffffffe
mov dword [esp + 0x24], ebx
call dword [0x413930]
mov esi, eax
jmp 0x402381
mov eax, dword [esp + 0xc]
mov dword [eax], 0x202
call dword [0x4100c8]
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
jmp 0x402381
mov edx, dword [esp + 0xc]
mov dword [edx], 0x203
jmp 0x40237b
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [ecx], 0x204
mov dword [edx], esi
jmp 0x402381
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [eax], 0x205
mov dword [ecx], esi
jmp 0x402381
mov edx, dword [esp + 0xc]
mov dword [edx], 0x206
jmp 0x40237b
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [ecx], 0x207
mov dword [edx], esi
jmp 0x402381
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [eax], 0x208
mov dword [ecx], esi
jmp 0x402381
mov edx, dword [esp + 0xc]
mov dword [edx], 0x209
mov eax, dword [esp + 0x10]
mov dword [eax], esi
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x402390
push eax
call dword [0x41393c]
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x40239f
push eax
call dword [0x41393c]
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4023ae
push eax
call dword [0x41393c]
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x4023bd
push eax
call dword [0x41393c]
mov eax, dword [esp + 0xac]
cmp eax, ebx
je 0x4023de
push ebx
push eax
call dword [0x413924]
mov ecx, dword [esp + 0xac]
push ecx
call dword [0x41393c]
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x4023ed
push eax
call dword [0x413928]
push esi
call dword [0x413938]
push eax
call dword [0x413920]
mov ecx, dword [esp + 0x724]
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebx
xor ecx, esp
call 0x40f850
mov esp, ebp
pop ebp
ret