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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x41b418
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x423990]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [0x423990]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
xor edi, edi
lea esp, [esp]
inc edi
push edi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
mov esi, eax
push ecx
mov ecx, esi
call fcn.00402ba0
mov ecx, esi
call fcn.00402d10
cmp edi, 2
jl 0x4019d0
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x401ad6
jmp 0x401a10
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
mov esi, eax
push ecx
mov ecx, esi
call fcn.00402ba0
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
cmp dword [ecx + esi + 0x38], 0
je 0x401ac2
push esi
lea ecx, [esp + 0x18]
call fcn.00402de0
mov dword [esp + 0x80], 0
cmp byte [esp + 0x18], 0
je 0x401a8f
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp eax, 0xffffffff
jne 0x401a8f
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + esi + 0xc]
add ecx, esi
or eax, 4
cmp dword [ecx + 0x38], 0
jne 0x401a87
or eax, 4
push 0
push eax
call fcn.00401860
mov dword [esp + 0x80], 0xffffffff
call fcn.00406b42
test al, al
jne 0x401aac
mov ecx, dword [esp + 0x14]
call fcn.004038f0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx + 0x38]
test ecx, ecx
je 0x401ac2
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x401a10
xor edi, edi
inc edi
push edi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
mov esi, eax
push ecx
mov ecx, esi
call fcn.00402ba0
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
cmp dword [ecx + esi + 0x38], 0
je 0x401b8a
push esi
lea ecx, [esp + 0x18]
call fcn.00402de0
mov dword [esp + 0x80], 1
cmp byte [esp + 0x18], 0
je 0x401b57
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp eax, 0xffffffff
jne 0x401b57
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + esi + 0xc]
add ecx, esi
or eax, 4
cmp dword [ecx + 0x38], 0
jne 0x401b4f
or eax, 4
push 0
push eax
call fcn.00401860
mov dword [esp + 0x80], 0xffffffff
call fcn.00406b42
test al, al
jne 0x401b74
mov ecx, dword [esp + 0x14]
call fcn.004038f0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx + 0x38]
test ecx, ecx
je 0x401b8a
mov eax, dword [ecx]
call dword [eax + 8]
cmp edi, 2
jl 0x401ad8
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x401c67
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
mov esi, eax
push ecx
mov ecx, esi
call fcn.00402ba0
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
cmp dword [ecx + esi + 0x38], 0
je 0x401c53
push esi
lea ecx, [esp + 0x18]
call fcn.00402de0
mov dword [esp + 0x80], 2
cmp byte [esp + 0x18], 0
je 0x401c20
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp eax, 0xffffffff
jne 0x401c20
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + esi + 0xc]
add ecx, esi
or eax, 4
cmp dword [ecx + 0x38], 0
jne 0x401c18
or eax, 4
push 0
push eax
call fcn.00401860
mov dword [esp + 0x80], 0xffffffff
call fcn.00406b42
test al, al
jne 0x401c3d
mov ecx, dword [esp + 0x14]
call fcn.004038f0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx + 0x38]
test ecx, ecx
je 0x401c53
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x401ba1
mov dword [esp + 0x3c], 0xd
mov dword [esp + 0x40], 0xd
mov dword [esp + 0x44], 0xd
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x4c], 0xb
mov dword [esp + 0x50], 3
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 6
mov dword [esp + 0x5c], 6
mov dword [esp + 0x60], 7
mov dword [esp + 0x64], 7
mov dword [esp + 0x68], 6
mov dword [esp + 0x6c], 0xc
xor edi, edi
inc edi
push edi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
mov esi, eax
push ecx
mov ecx, esi
call fcn.00402ba0
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
cmp dword [ecx + esi + 0x38], 0
je 0x401d83
push esi
lea ecx, [esp + 0x18]
call fcn.00402de0
mov dword [esp + 0x80], 3
cmp byte [esp + 0x18], 0
je 0x401d50
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp eax, 0xffffffff
jne 0x401d50
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + esi + 0xc]
add ecx, esi
or eax, 4
cmp dword [ecx + 0x38], 0
jne 0x401d48
or eax, 4
push 0
push eax
call fcn.00401860
mov dword [esp + 0x80], 0xffffffff
call fcn.00406b42
test al, al
jne 0x401d6d
mov ecx, dword [esp + 0x14]
call fcn.004038f0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx + 0x38]
test ecx, ecx
je 0x401d83
mov eax, dword [ecx]
call dword [eax + 8]
cmp edi, 2
jl 0x401cd1
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x401e66
lea ebx, [ebx]
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
mov esi, eax
push ecx
mov ecx, esi
call fcn.00402ba0
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
cmp dword [ecx + esi + 0x38], 0
je 0x401e52
push esi
lea ecx, [esp + 0x18]
call fcn.00402de0
mov dword [esp + 0x80], 4
cmp byte [esp + 0x18], 0
je 0x401e1f
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp eax, 0xffffffff
jne 0x401e1f
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + esi + 0xc]
add ecx, esi
or eax, 4
cmp dword [ecx + 0x38], 0
jne 0x401e17
or eax, 4
push 0
push eax
call fcn.00401860
mov dword [esp + 0x80], 0xffffffff
call fcn.00406b42
test al, al
jne 0x401e3c
mov ecx, dword [esp + 0x14]
call fcn.004038f0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx + 0x38]
test ecx, ecx
je 0x401e52
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x401da0
xor ecx, ecx
mov edx, dword [esp + ecx*4 + 0x3c]
xor eax, eax
test edx, edx
je 0x401f3e
test ecx, ecx
jne 0x401e86
xor byte [eax + 0x424a20], 0x6f
jmp 0x401f35
cmp ecx, 1
jne 0x401e97
xor byte [eax + 0x424a10], 0x6f
jmp 0x401f35
cmp ecx, 2
jne 0x401ea8
xor byte [eax + 0x424a00], 0x6f
jmp 0x401f35
cmp ecx, 3
jne 0x401eb9
xor byte [eax + str.__ne_], 0x6f
jmp 0x401f35
cmp ecx, 4
jne 0x401ec7
xor byte [eax + 0x4249e4], 0x6f
jmp 0x401f35
cmp ecx, 5
jne 0x401ed5
xor byte [eax + 0x4249e0], 0x6f
jmp 0x401f35
cmp ecx, 6
jne 0x401ee3
xor byte [eax + 0x4249d8], 0x6f
jmp 0x401f35
cmp ecx, 7
jne 0x401ef1
xor byte [eax + 0x4249d0], 0x6f
jmp 0x401f35
cmp ecx, 8
jne 0x401eff
xor byte [eax + 0x4249c8], 0x6f
jmp 0x401f35
cmp ecx, 9
jne 0x401f0d
xor byte [eax + 0x4249c0], 0x6f
jmp 0x401f35
cmp ecx, 0xa
jne 0x401f1b
xor byte [eax + 0x4249b8], 0x6f
jmp 0x401f35
cmp ecx, 0xb
jne 0x401f29
xor byte [eax + 0x4249b0], 0x6f
jmp 0x401f35
cmp ecx, 0xc
jne 0x401f35
xor byte [eax + 0x4249a4], 0x6f
inc eax
cmp eax, edx
jb 0x401e76
inc ecx
cmp ecx, 0xd
jb 0x401e68
xor edi, edi
lea ebx, [ebx]
inc edi
push edi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
mov esi, eax
push ecx
mov ecx, esi
call fcn.00402ba0
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
cmp dword [ecx + esi + 0x38], 0
je 0x402002
push esi
lea ecx, [esp + 0x18]
call fcn.00402de0
mov dword [esp + 0x80], 5
cmp byte [esp + 0x18], 0
je 0x401fcf
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp eax, 0xffffffff
jne 0x401fcf
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + esi + 0xc]
add ecx, esi
or eax, 4
cmp dword [ecx + 0x38], 0
jne 0x401fc7
or eax, 4
push 0
push eax
call fcn.00401860
mov dword [esp + 0x80], 0xffffffff
call fcn.00406b42
test al, al
jne 0x401fec
mov ecx, dword [esp + 0x14]
call fcn.004038f0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx + 0x38]
test ecx, ecx
je 0x402002
mov eax, dword [ecx]
call dword [eax + 8]
cmp edi, 2
jl 0x401f50
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x4020c3
lea esp, [esp]
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
mov esi, eax
push ecx
mov ecx, esi
call fcn.00402ba0
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
cmp dword [ecx + esi + 0x38], 0
je 0x4020af
push esi
lea ecx, [esp + 0x38]
call fcn.00402de0
mov dword [esp + 0x80], 6
cmp byte [esp + 0x38], 0
je 0x40209b
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp eax, 0xffffffff
jne 0x40209b
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + esi + 0xc]
add ecx, esi
or eax, 4
cmp dword [ecx + 0x38], 0
jne 0x402093
or eax, 4
push 0
push eax
call fcn.00401860
lea ecx, [esp + 0x34]
mov dword [esp + 0x80], 0xffffffff
call fcn.00402e70
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402020
push 0x424a20
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
push 0x4249a4
push edi
call ebx
call eax
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x4020e2
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x402149
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402115
push 0x424a00
push edi
call ebx
mov dword [esp + 0x20], eax
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402157
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x4021c4
lea ebx, [ebx]
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402190
push str.__ne_
push edi
call ebx
push 0x424a10
push edi
mov dword [esp + 0x24], eax
call ebx
mov dword [esp + 0x30], eax
xor esi, esi
mov edi, edi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x4021e0
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x402247
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402213
push 0x4249e4
call dword [esp + 0x24]
mov edi, eax
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402254
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x4022bb
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402287
xor esi, esi
lea ecx, [ecx]
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x4022c0
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x402327
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x4022f3
mov ebx, dword [esp + 0x1c]
push 0x4249d8
push edi
call ebx
push 0x4249d0
push edi
mov dword [esp + 0x24], eax
call ebx
mov dword [esp + 0x20], eax
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402345
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x4023ac
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402378
push 0x4249c8
push edi
call ebx
mov dword [esp + 0x24], eax
xor esi, esi
lea ebx, [ebx]
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x4023c0
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x402427
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x4023f3
push 0x4249b0
push edi
call ebx
push 0x4249c0
push edi
mov dword [esp + 0x30], eax
call ebx
mov dword [esp + 0x2c], eax
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402441
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x4024a8
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402474
push 0x4249b8
push edi
call ebx
mov dword [esp + 0x14], eax
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x4024b6
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x402524
lea esp, [esp]
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x4024f0
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402526
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x402594
lea esp, [esp]
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402560
push 0x4249e0
push str.1.bin
call dword [esp + 0x24]
mov ebx, eax
add esp, 8
mov dword [esp + 0x1c], ebx
xor esi, esi
lea ecx, [ecx]
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x4025b0
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x402617
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x4025e3
push 2
push 0
push ebx
call dword [esp + 0x2c]
add esp, 0xc
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402625
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x40268c
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402658
push ebx
call dword [esp + 0x28]
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
xor esi, esi
lea esp, [esp]
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x4026a0
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x402707
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x4026d3
push 0
push 0
push ebx
call dword [esp + 0x2c]
add esp, 0xc
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402715
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x40277c
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402748
push edi
call dword [esp + 0x30]
add esp, 4
mov ebx, eax
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402788
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x4027f4
jmp 0x4027c0
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x4027c0
push dword [esp + 0x1c]
push 1
push edi
push ebx
call dword [esp + 0x38]
add esp, 0x10
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402805
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x40286c
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402838
push 0x40
push 0x1000
push edi
push 0
call dword [esp + 0x40]
mov edi, eax
xor esi, esi
mov edi, edi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x402880
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x4028e7
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x4028b3
push dword [esp + 0x24]
push ebx
push edi
call dword [esp + 0x20]
add esp, 0xc
xor esi, esi
sub esp, 8
inc esi
push esi
push ecx
mov edx, 0x4203b9
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
cmp esi, 2
jl 0x4028f6
mov eax, dword [0x425ad4]
cmp eax, 2
jge 0x402964
lea esp, [esp]
sub esp, 8
inc eax
push eax
push ecx
mov edx, 0x420448
call fcn.00404ca0
add esp, 4
mov ecx, eax
call fcn.00402a10
add esp, 4
mov ecx, eax
call fcn.004029e0
mov eax, dword [0x425ad4]
inc eax
mov dword [0x425ad4], eax
cmp eax, 2
jl 0x402930
call edi
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00406e20
mov esp, ebp
pop ebp
ret