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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ce870
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x568
push ebx
push esi
push edi
xor edi, edi
mov ebx, ecx
mov dword [esp + 0x14], edi
mov eax, dword [ebx + 0x588]
cmp dword [ebx + 0x690], eax
mov eax, dword [ebp + 0xc]
jl 0x543ea5
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
push eax
push esi
mov edx, ebx
call fcn.00542270
mov eax, esi
mov ecx, dword [esp + 0x574]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x12f
jg 0x5446cc
je 0x54467f
add eax, 0xfffffffd
cmp eax, 0xf2
ja case.0x5446e3.306
movzx ecx, byte [eax + 0x544e8c]
jmp dword [ecx*4 + 0x544e4c]
mov esi, dword [ebp + 0x10]
push edi
lea eax, [esp + 0x1e4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
test eax, eax
js case.0x5446e3.306
push edi
lea eax, [esp + 0x1ec]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov edi, eax
call fcn.0041fe30
cmp edi, eax
jge case.0x5446e3.306
push 0
lea eax, [esp + 0x1fc]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x68
mov edx, dword [0x6a5d14]
lea eax, [eax + edx + 0x20]
push eax
push ebx
call fcn.00542970
push 0
lea eax, [esp + 0x20c]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x68
mov ecx, dword [0x6a5d14]
cmp dword [eax + ecx + 0x4c], 0
je case.0x5446e3.306
push 0
lea eax, [esp + 0x94]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x68
mov edx, dword [0x6a5d14]
lea eax, [eax + edx + 0x3c]
push eax
push ebx
call fcn.00542970
jmp case.0x5446e3.306
mov esi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x214]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
test eax, eax
js case.0x5446e3.306
push 1
lea eax, [esp + 0xa4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov edi, eax
call fcn.00419b00
cmp edi, eax
jge case.0x5446e3.306
push 1
lea eax, [esp + 0x2cc]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x6c
add eax, dword [0x6a5d24]
push 0xffffffffffffffff
mov ecx, dword [eax + 0x60]
push ecx
add eax, 0x44
push eax
push ebx
call fcn.00543320
push 1
lea eax, [esp + 0xb4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x6c
mov edx, dword [0x6a5d24]
lea eax, [eax + edx + 0x20]
push eax
push ebx
call fcn.00542970
push 0
lea eax, [esp + 0x224]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
lea ecx, [ebx + 0x69c]
push ecx
add ebx, 0x670
push ebx
mov dword [esp + 0x1c], eax
call fcn.0041fc70
lea edx, [esp + 0x14]
call fcn.0041fab0
mov edi, eax
push 1
lea eax, [esp + 0xc4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov dword [edi], eax
jmp case.0x5446e3.306
mov esi, dword [ebp + 0x10]
push edi
lea eax, [esp + 0x2a4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
lea edi, [ebx + 0x670]
push edx
lea eax, [esp + 0x20]
mov ecx, edi
call fcn.0041fdc0
mov eax, dword [eax]
cmp eax, dword [ebx + 0x674]
je 0x54410e
push 0
lea eax, [esp + 0xd4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
lea ecx, [ebx + 0x69c]
push ecx
push edi
mov dword [esp + 0x1c], eax
call fcn.0041fc70
lea edx, [esp + 0x14]
call fcn.0041fab0
mov edx, dword [eax]
mov dword [esp + 0x14], edx
jmp 0x544116
mov dword [esp + 0x14], 0xffffffff
push 1
lea eax, [esp + 0x234]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x2c]
mov ecx, edi
call fcn.0041fdc0
mov ecx, dword [eax]
cmp ecx, dword [ebx + 0x674]
je 0x544184
push 1
lea eax, [esp + 0xe4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
lea edx, [ebx + 0x69c]
push edx
push edi
mov dword [esp + 0x20], eax
call fcn.0041fc70
lea edx, [esp + 0x18]
call fcn.0041fab0
mov eax, dword [eax]
mov dword [esp + 0x18], eax
jmp 0x54418c
mov dword [esp + 0x18], 0xffffffff
push 0
lea eax, [esp + 0x284]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
add ebx, 0x69c
push ebx
push edi
mov dword [esp + 0x18], eax
call fcn.0041fc70
lea edx, [esp + 0x10]
call fcn.0041fab0
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
push 1
lea eax, [esp + 0xf4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
push ebx
push edi
mov dword [esp + 0x18], eax
call fcn.0041fc70
lea edx, [esp + 0x10]
call fcn.0041fab0
mov edx, dword [esp + 0x14]
mov dword [eax], edx
push 0
lea eax, [esp + 0x244]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov ecx, dword [0x6a5d34]
lea eax, [eax + eax*2]
cmp byte [ecx + eax*4 + 8], 0
je 0x54424c
push 0
lea eax, [esp + 0x104]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
push ebx
push edi
mov dword [esp + 0x18], eax
call fcn.0041fc70
lea edx, [esp + 0x10]
call fcn.0041fab0
mov dword [eax], 0xffffffff
push 1
lea eax, [esp + 0x2c4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
lea edx, [eax + eax*2]
mov eax, dword [0x6a5d34]
cmp byte [eax + edx*4 + 8], 0
je case.0x5446e3.306
push 1
lea eax, [esp + 0x114]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
push ebx
push edi
mov dword [esp + 0x18], eax
call fcn.0041fc70
lea edx, [esp + 0x10]
call fcn.0041fab0
mov dword [eax], 0xffffffff
jmp case.0x5446e3.306
mov esi, dword [ebp + 0x10]
push edi
lea eax, [esp + 0x254]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
test eax, eax
jns 0x5442d9
lea esi, [ebx + 0x670]
call fcn.00409ef0
jmp case.0x5446e3.306
push edi
lea eax, [esp + 0x124]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
lea ecx, [ebx + 0x69c]
push ecx
add ebx, 0x670
push ebx
jmp 0x54428f
push edi
lea eax, [esp + 0x294]
mov ecx, dword [ebp + 0x10]
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov edx, ebx
call fcn.00541840
mov ecx, dword [ebp + 8]
mov dword [ecx], 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], edi
mov byte [ecx + 4], 0
mov dword [ecx + 0x20], eax
mov eax, ecx
mov ecx, dword [esp + 0x574]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 2
lea eax, [esp + 0x134]
jmp 0x544307
mov edi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x264]
mov ecx, edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
test eax, eax
js 0x5443e4
push 1
lea eax, [esp + 0x144]
mov ecx, edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov esi, eax
call fcn.00419b00
cmp esi, eax
jge 0x5443e4
push 1
lea eax, [esp + 0x2b4]
mov ecx, edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
push eax
push ebx
call fcn.00543680
push 1
lea eax, [esp + 0x154]
mov ecx, edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x6c
mov edx, dword [0x6a5d24]
lea eax, [eax + edx + 0x20]
push eax
push ebx
call fcn.00542970
push 3
lea eax, [esp + 0x274]
mov ecx, edi
call fcn.0041ffa0
lea esi, [esp + 0x2d0]
mov ecx, eax
call fcn.00420180
push 1
lea eax, [esp + 0x164]
mov ecx, edi
mov dword [esp + 0x580], 0
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
push eax
mov ecx, esi
push ecx
push ebx
call fcn.005437e0
mov ecx, esi
call fcn.00429f70
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [eax], 1
mov dword [eax + 0x18], 0xf
mov dword [eax + 0x14], ecx
mov byte [eax + 4], cl
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x574]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x10]
push edi
lea eax, [esp + 0x21c]
call fcn.0041ffa0
lea esi, [esp + 0x308]
mov ecx, eax
call fcn.00420180
push 0xffffffffffffffff
mov edx, esi
push edx
push ebx
mov dword [esp + 0x588], 1
call fcn.005437e0
mov ecx, esi
jmp 0x544430
mov ecx, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x174]
call fcn.0041ffa0
lea esi, [esp + 0x4ac]
mov ecx, eax
call fcn.00420180
mov eax, esi
push eax
push ebx
mov dword [esp + 0x584], 0xd
call fcn.00542970
mov ecx, esi
jmp 0x544430
mov edi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x22c]
mov ecx, edi
call fcn.0041ffa0
lea esi, [esp + 0x340]
mov ecx, eax
call fcn.00420180
push 2
lea eax, [esp + 0x184]
mov ecx, edi
mov dword [esp + 0x580], 0xe
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
push eax
mov ecx, esi
push ecx
push ebx
call fcn.00543530
mov ecx, esi
jmp 0x544430
mov esi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x23c]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
test eax, eax
js case.0x5446e3.306
push 1
lea eax, [esp + 0x194]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov edi, eax
call fcn.00419b00
cmp edi, eax
jge case.0x5446e3.306
push 1
lea eax, [esp + 0x24c]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x6c
add eax, dword [0x6a5d24]
push 0xffffffffffffffff
mov edx, dword [eax + 0x60]
push edx
add eax, 0x44
push eax
push ebx
call fcn.00543320
push 1
lea eax, [esp + 0x1a4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x6c
mov ecx, dword [0x6a5d24]
lea edx, [eax + ecx + 0x20]
push edx
push ebx
call fcn.00542970
jmp case.0x5446e3.306
mov ecx, dword [ebp + 0x10]
push edi
lea eax, [esp + 0x25c]
call fcn.0041ffa0
lea esi, [esp + 0x2c]
mov ecx, eax
call fcn.00420180
mov dword [esp + 0x57c], 0xf
mov eax, dword [esp + 0x3c]
cmp eax, 4
jbe 0x54463e
push 0xffffffffffffffff
lea ecx, [eax - 4]
lea esi, [esp + 0x4cc]
lea edx, [esp + 0x30]
call fcn.00414ed0
mov byte [esp + 0x57c], 0x10
mov ecx, str..nmv
mov edi, eax
mov dword [esp + 0x14], 0x2000
call fcn.0040e930
mov byte [esp + 0xf], 1
test al, al
jne 0x544643
mov byte [esp + 0xf], 0
mov dword [esp + 0x57c], 0xf
test dword [esp + 0x14], 0x2000
je 0x544664
lea ecx, [esp + 0x4c8]
call fcn.00429f70
cmp byte [esp + 0xf], 0
je 0x544676
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.00543be0
lea ecx, [esp + 0x2c]
jmp 0x544430
mov ecx, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x1b4]
call fcn.0041ffa0
lea esi, [esp + 0x64]
mov ecx, eax
call fcn.00420180
mov ecx, esi
push ecx
push ebx
mov dword [esp + 0x584], 2
call fcn.00542970
cmp dword [esp + 0x78], 0x10
jb case.0x5446e3.306
mov edx, dword [esp + 0x64]
push edx
call fcn.0048f06d
add esp, 4
jmp case.0x5446e3.306
add eax, 0xfffffed0
cmp eax, 0x98
ja case.0x5446e3.306
movzx eax, byte [eax + 0x544fc0]
jmp dword [eax*4 + 0x544f80]
mov ecx, dword [ebp + 0x10]
push edi
lea eax, [esp + 0x26c]
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov dword [esp + 0x10], eax
lea edi, [ebx + 0x680]
lea eax, [esp + 0x10]
call fcn.00415cf0
jmp case.0x5446e3.306
mov edi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x1c4]
mov ecx, edi
call fcn.0041ffa0
lea esi, [esp + 0x458]
mov ecx, eax
call fcn.00420180
push 0xffffffffffffffff
push ecx
push 2
lea eax, [esp + 0x284]
mov ecx, edi
mov dword [esp + 0x588], 3
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
add esp, 4
push eax
mov ecx, esi
push ecx
push ebx
call fcn.00543320
mov ecx, esi
jmp 0x544430
mov edi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x1d4]
mov ecx, edi
call fcn.0041ffa0
lea esi, [esp + 0x378]
mov ecx, eax
call fcn.00420180
push 3
lea eax, [esp + 0x28c]
mov ecx, edi
mov dword [esp + 0x580], 4
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
push eax
push ecx
push 2
lea eax, [esp + 0x8c]
mov ecx, edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
add esp, 4
push eax
mov edx, esi
push edx
push ebx
call fcn.00543320
mov ecx, esi
jmp 0x544430
mov esi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x29c]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
test eax, eax
js case.0x5446e3.306
push 1
lea eax, [esp + 0x1f4]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov edi, eax
call fcn.0041fe30
cmp edi, eax
jge case.0x5446e3.306
push 1
lea eax, [esp + 0x2ac]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x68
mov ecx, dword [0x6a5d14]
lea edx, [eax + ecx + 0x20]
push edx
push ebx
call fcn.00542970
push 1
lea eax, [esp + 0x204]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x68
mov ecx, dword [0x6a5d14]
cmp dword [eax + ecx + 0x4c], 0
je case.0x5446e3.306
push 1
lea eax, [esp + 0x2bc]
jmp 0x543f77
mov edi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x8c]
mov ecx, edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
test eax, eax
js case.0x5446e3.306
push 1
lea eax, [esp + 0x9c]
mov ecx, edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov esi, eax
call fcn.00419b00
cmp esi, eax
jge case.0x5446e3.306
push 2
lea eax, [esp + 0xac]
mov ecx, edi
call fcn.0041ffa0
lea esi, [esp + 0x490]
mov ecx, eax
call fcn.00420180
mov ecx, esi
push ecx
lea ecx, [esp + 0x53c]
mov dword [esp + 0x580], 5
call fcn.00414cb0
mov esi, eax
push 1
lea eax, [esp + 0xbc]
mov ecx, edi
mov byte [esp + 0x580], 6
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
imul eax, eax, 0x6c
add eax, dword [0x6a5d24]
mov ecx, esi
add eax, 0x20
lea esi, [esp + 0x500]
call fcn.0040fb30
push eax
push ebx
mov byte [esp + 0x584], 7
call fcn.00542970
mov ecx, esi
call fcn.00429f70
lea ecx, [esp + 0x538]
call fcn.00429f70
lea ecx, [esp + 0x490]
jmp 0x544430
mov ecx, dword [ebp + 0x10]
push 1
lea eax, [esp + 0xcc]
call fcn.0041ffa0
lea esi, [esp + 0x3b0]
mov ecx, eax
call fcn.00420180
mov edx, esi
push edx
push ebx
mov dword [esp + 0x584], 8
call fcn.00543be0
mov ecx, esi
jmp 0x544430
mov esi, dword [ebp + 0x10]
push 2
lea eax, [esp + 0xdc]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
mov edi, eax
push 3
lea eax, [esp + 0x24]
mov ecx, esi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
cmp edi, eax
setle al
test al, al
je case.0x5446e3.306
jmp 0x5449f4
mov esi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0xec]
mov ecx, esi
call fcn.0041ffa0
lea esi, [esp + 0x43c]
mov ecx, eax
call fcn.00420180
push 0xffffffffffffffff
push edi
mov eax, esi
push eax
push ebx
mov dword [esp + 0x58c], 9
call fcn.00543320
mov ecx, esi
mov dword [esp + 0x57c], 0xffffffff
call fcn.00429f70
mov ecx, dword [ebp + 0x10]
push 3
lea eax, [esp + 0x24]
inc edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
cmp edi, eax
jle 0x5449f1
jmp case.0x5446e3.306
mov ecx, dword [ebp + 0x10]
push edi
lea eax, [esp + 0xfc]
call fcn.0041ffa0
lea esi, [esp + 0x3e8]
mov ecx, eax
call fcn.00420180
push 0xa
mov ecx, esi
push ecx
push ebx
mov dword [esp + 0x588], 0xa
call fcn.00542c50
mov ecx, esi
jmp 0x544430
mov ecx, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x10c]
call fcn.0041ffa0
lea esi, [esp + 0x474]
mov ecx, eax
call fcn.00420180
push 0xa
mov edx, esi
push edx
push ebx
mov dword [esp + 0x588], 0xb
call fcn.00542c50
mov ecx, esi
jmp 0x544430
mov ecx, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x11c]
call fcn.0041ffa0
lea esi, [esp + 0x420]
mov ecx, eax
call fcn.00420180
mov dword [esp + 0x57c], 0xc
mov eax, dword [0x6940f0]
add eax, 0xa
push eax
mov ecx, esi
push ecx
push ebx
call fcn.00542c50
mov ecx, esi
jmp 0x544430
mov edi, dword [ebp + 0x10]
push 2
lea eax, [esp + 0x12c]
mov ecx, edi
call fcn.0041ffa0
lea esi, [esp + 0x324]
mov ecx, eax
call fcn.00420180
push 0
lea eax, [esp + 0x13c]
mov ecx, edi
mov dword [esp + 0x580], 0x11
call fcn.0041ffa0
lea esi, [esp + 0x2ec]
mov ecx, eax
call fcn.00420180
lea edx, [esp + 0x324]
push edx
push ecx
push 1
lea eax, [esp + 0x154]
mov ecx, edi
mov byte [esp + 0x588], 0x12
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
add esp, 4
push eax
lea eax, [esp + 0x4ec]
push eax
mov edi, esi
call fcn.005993c0
mov esi, dword [ebp + 8]
mov byte [esp + 0x57c], 0x13
call fcn.0059c400
lea ecx, [esp + 0x4e4]
call fcn.00429f70
mov ecx, edi
call fcn.00429f70
lea ecx, [esp + 0x324]
call fcn.00429f70
mov eax, esi
mov ecx, dword [esp + 0x574]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push edi
mov edi, dword [ebp + 0x10]
lea eax, [esp + 0x15c]
mov ecx, edi
call fcn.0041ffa0
lea esi, [esp + 0x35c]
mov ecx, eax
call fcn.00420180
push 2
lea eax, [esp + 0x16c]
mov ecx, edi
mov dword [esp + 0x580], 0x14
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
push eax
push ecx
push 1
lea eax, [esp + 0x184]
mov ecx, edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
add esp, 4
push eax
mov ecx, esi
push ecx
lea edx, [esp + 0x528]
push edx
call fcn.00599310
mov esi, dword [ebp + 8]
mov byte [esp + 0x57c], 0x15
call fcn.0059c400
lea ecx, [esp + 0x51c]
call fcn.00429f70
lea ecx, [esp + 0x35c]
call fcn.00429f70
mov eax, esi
mov ecx, dword [esp + 0x574]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push edi
mov edi, dword [ebp + 0x10]
lea eax, [esp + 0x18c]
mov ecx, edi
call fcn.0041ffa0
lea esi, [esp + 0x394]
mov ecx, eax
call fcn.00420180
push 2
lea eax, [esp + 0x19c]
mov ecx, edi
mov dword [esp + 0x580], 0x16
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
push eax
push ecx
push 1
lea eax, [esp + 0x1b4]
mov ecx, edi
call fcn.0041ffa0
mov ecx, eax
call fcn.00420070
add esp, 4
lea ecx, [esp + 0x558]
push ecx
mov edi, esi
call fcn.005992a0
mov esi, dword [ebp + 8]
mov byte [esp + 0x57c], 0x17
call fcn.0059c400
lea ecx, [esp + 0x554]
call fcn.00429f70
mov ecx, edi
call fcn.00429f70
mov eax, esi
mov ecx, dword [esp + 0x574]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [ebp + 0x10]
push 1
lea eax, [esp + 0x1bc]
mov ecx, edi
call fcn.0041ffa0
lea esi, [esp + 0x404]
mov ecx, eax
call fcn.00420180
push 0
lea eax, [esp + 0x1cc]
mov ecx, edi
mov dword [esp + 0x580], 0x18
call fcn.0041ffa0
lea esi, [esp + 0x3cc]
mov ecx, eax
call fcn.00420180
lea edx, [esp + 0x404]
push edx
mov eax, esi
push eax
call fcn.005990f0
mov esi, dword [ebp + 8]
mov dword [esi], 1
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], 0
mov byte [esi + 4], 0
lea ecx, [esp + 0x3cc]
mov dword [esi + 0x20], eax
call fcn.00429f70
lea ecx, [esp + 0x404]
call fcn.00429f70
mov eax, esi
mov ecx, dword [esp + 0x574]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x10]
push edi
lea eax, [esp + 0x1dc]
call fcn.0041ffa0
lea esi, [esp + 0x48]
mov ecx, eax
call fcn.00420180
mov ecx, dword [esp + 0x58]
push ecx
mov edi, esi
call fcn.005991d0
mov esi, dword [ebp + 8]
mov dword [esi], 1
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], 0
mov byte [esi + 4], 0
add esp, 4
mov ecx, edi
mov dword [esi + 0x20], eax
call fcn.00429f70
mov ecx, dword [esp + 0x574]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc