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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [esp + 0x1c], ecx
mov ecx, dword [edx + 0x24]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x18], edx
cmp byte [ecx + 0x15a], 0
mov dword [esp + 0x20], ecx
je 0x47e179
cmp byte [ecx + 0x15b], 0
setne cl
mov dword [esp + 0x40], ecx
jmp 0x47e181
mov dword [esp + 0x40], 0
mov edi, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
cmp edi, eax
mov dword [esp + 0x54], eax
ja 0x47eae2
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0xa0]
mov ebx, dword [ecx + 0x138]
mov ebp, esi
xor ecx, ecx
sub ebp, ebx
mov edx, ebx
mov dword [esp + 0x24], ebx
mov ebx, 0x20
cmovae ecx, ebp
mov dword [esp + 0x2c], ebp
cmp ecx, 0x20
cmovb ebx, ecx
mov dword [eax + 0xc], ebx
mov edx, dword [eax + 8]
cmp ebx, edx
ja 0x47edd4
mov ebp, dword [eax + 4]
test ebx, ebx
je 0x47e1f1
lea eax, [ebx*4]
push eax
push 0
push ebp
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xa8]
test esi, esi
mov dword [esp + 0x34], ebp
je 0x47e217
lea eax, [esi*4]
push eax
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x54]
mov eax, dword [eax + 0x154]
test eax, eax
js 0x47ede0
je 0x47e24d
lea ecx, [edi + 1]
xor edx, edx
nop word cs:[eax + eax]
nop
cmp edx, esi
jae 0x47e24d
mov dword [ebx + edx*4], ecx
add edx, 2
dec eax
jne 0x47e240
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
test eax, eax
je 0x47e2bf
cmp eax, 1
je 0x47e2d5
mov eax, dword [esp + 0xa4]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x18]
test byte [eax + 9], 1
jne 0x47ea5a
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x47e29a
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x47ee2c
mov dword [0x5a1188], eax
push 0xc
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x47ee2c
mov byte [eax], 3
mov dword [eax + 4], 2
mov dword [eax + 8], esi
jmp 0x47eab3
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x128]
cmp eax, dword [ecx + 0x12c]
jne 0x47ea73
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x20], 0
je 0x47ed28
mov esi, dword [eax + 0x1c]
mov edx, ebp
mov ebp, dword [esi]
cmp edi, edx
jae 0x47e916
movzx ecx, byte [eax + 8]
mov dword [esp + 0x30], 0
mov byte [esp + 0x12], cl
mov ecx, eax
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, 0x20
mov dword [esp + 4], edx
mov edx, dword [ecx + 0x130]
mov dword [esp], esi
and edx, 0x1f
mov dword [esp + 0x68], edx
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x2c]
cmp edx, 0x20
cmovb eax, edx
cmp esi, edi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xa4]
movzx eax, byte [eax + 0x18]
mov byte [esp + 0x13], al
mov eax, edi
cmova eax, esi
mov esi, ebp
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0x134]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x24]
lea eax, [ebx + eax*4]
mov dword [esp + 0x38], eax
lea eax, [edx*4]
mov dword [esp + 0x5c], eax
jmp 0x47e39b
shr esi, 0xb
cmp edi, ebp
je 0x47eac5
cmp edi, dword [esp + 0x44]
je 0x47eb11
mov eax, dword [esp + 4]
mov ebx, esi
mov ecx, dword [esp + 0x68]
mov esi, edi
movzx edx, byte [eax + edi]
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x18]
movzx edi, dl
movzx ecx, byte [ecx + edi + 0x2c]
mov dword [esp + 8], edi
add ecx, eax
cmp ecx, dword [esp + 0x28]
jae 0x47eb22
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x58], ebx
lea edi, [esi + 1]
mov ebx, dword [ebp + ecx*8]
mov ecx, dword [ebp + ecx*8 + 4]
mov ebp, dword [esp + 0x58]
cmp ebp, dword [esp + 0x48]
mov dword [esp + 0x50], ecx
jb 0x47e6e0
add eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x28]
jae 0x47eb30
mov ecx, dword [esp + 0x4c]
mov ebp, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
test ebp, 0x3ff
mov dword [esp + 0xc], ebp
je 0x47e600
mov eax, dword [esp + 0x20]
mov ebp, ecx
test esi, esi
mov dh, byte [eax + 0x158]
mov eax, dword [esp + 0xc]
je 0x47e442
mov ecx, eax
and ecx, 1
jne 0x47e6e0
cmp esi, dword [esp]
je 0x47e452
mov ecx, eax
and ecx, 2
jne 0x47e6e0
test esi, esi
je 0x47e47a
mov ecx, eax
and ecx, 4
je 0x47e47a
lea ecx, [esi - 1]
cmp ecx, dword [esp]
jae 0x47ed5c
mov eax, dword [esp + 4]
cmp byte [eax + ecx], dh
mov eax, dword [esp + 0xc]
jne 0x47e6e0
cmp esi, dword [esp]
je 0x47e497
mov ecx, eax
and ecx, 8
je 0x47e497
cmp esi, dword [esp]
jae 0x47ed69
cmp dl, dh
jne 0x47e6e0
test al, 0x10
je 0x47e4cf
test esi, esi
je 0x47e4cf
lea ecx, [esi - 1]
cmp ecx, dword [esp]
jae 0x47ed78
mov eax, dword [esp + 4]
movzx eax, byte [eax + ecx]
cmp eax, 0xa
je 0x47e4cf
cmp eax, 0xd
jne 0x47e6e0
cmp esi, dword [esp]
jae 0x47e4cf
cmp dl, 0xa
je 0x47e6e0
mov eax, dword [esp + 0xc]
test al, 0x20
je 0x47e4f2
cmp esi, dword [esp]
je 0x47e4f2
jae 0x47ed85
cmp dl, 0xa
je 0x47e51a
cmp dword [esp + 8], 0xd
jne 0x47e6e0
test al, 0x40
je 0x47e56d
test esi, esi
je 0x47e548
lea ecx, [esi - 1]
cmp ecx, dword [esp]
jae 0x47ed1b
mov eax, dword [esp + 4]
movzx eax, byte [eax + ecx]
cmp byte [eax + 0x54ed68], 0
setne al
jmp 0x47e54a
test esi, esi
je 0x47e53e
mov eax, dword [esp + 4]
cmp byte [eax + esi - 1], 0xd
je 0x47e6e0
mov eax, dword [esp + 0xc]
lea ecx, [esi - 1]
test al, 0x40
jne 0x47e4fd
test al, al
js 0x47e578
jmp 0x47e5ba
test al, 0x40
jne 0x47e548
test al, al
jns 0x47e5ba
jmp 0x47e595
xor eax, eax
cmp esi, dword [esp]
jae 0x47e561
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x54ed68], 0
setne cl
cmp al, cl
jmp 0x47e563
test al, al
mov eax, dword [esp + 0xc]
je 0x47e6e0
test al, al
jns 0x47e5ba
test esi, esi
je 0x47e595
lea ecx, [esi - 1]
cmp ecx, dword [esp]
jae 0x47ed1b
mov eax, dword [esp + 4]
movzx eax, byte [eax + ecx]
cmp byte [eax + 0x54ed68], 0
setne al
jmp 0x47e597
xor eax, eax
cmp esi, dword [esp]
jae 0x47e5ae
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x54ed68], 0
setne cl
xor al, cl
jmp 0x47e5b0
test al, al
mov eax, dword [esp + 0xc]
jne 0x47e6e0
test eax, 0x100
je 0x47e5dd
mov ecx, dword [esp + 4]
mov edx, dword [esp]
push esi
call fcn.0047ee90
add esp, 4
test al, al
mov eax, dword [esp + 0xc]
je 0x47e6e0
test eax, 0x200
mov ecx, ebp
je 0x47e600
mov ecx, dword [esp + 4]
mov edx, dword [esp]
push esi
call fcn.0047f250
mov ecx, ebp
add esp, 4
test al, al
je 0x47e6e0
mov eax, ecx
mov dword [esp + 8], ecx
shr eax, 9
or eax, 1
cmp eax, dword [esp + 0xac]
jae 0x47e61f
mov ecx, dword [esp + 0xa8]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0xac], eax
jbe 0x47e6a1
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x14]
jne 0x47ee3b
push dword [esp + 0x5c]
push dword [esp + 0x38]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x44]
add esp, 0xc
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x60]
shrd ebp, eax, 0xa
je 0x47e6a1
mov eax, ebp
tzcnt eax, ebp
cmp eax, dword [esp + 0x14]
jb 0x47e68b
jmp 0x47e6a1
mov ebp, eax
mov eax, 0x20
cmp eax, ecx
jae 0x47e6a1
btr ebp, eax
mov dword [edx + eax*4], edi
mov eax, ebp
test ebp, ebp
je 0x47e680
mov ebp, eax
tzcnt eax, eax
cmp eax, ecx
jb 0x47e68b
mov ecx, dword [esp + 8]
shr ecx, 0xa
cmp byte [esp + 0x13], 0
jne 0x47ec9b
cmp byte [esp + 0x12], 0
mov dword [esp + 0x30], 1
je 0x47e6d6
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3c], ecx
and eax, 0x400
je 0x47e6e0
jmp 0x47ec9b
mov dword [esp + 0x3c], ecx
nop word [eax + eax]
cmp dword [esp + 0x58], 0
je 0x47ead3
mov ebp, dword [esp + 0x54]
test ebx, 0x3ff
je 0x47e8d0
test bl, 1
sete al
test esi, esi
sete cl
test bl, 2
jne 0x47ead3
or cl, al
je 0x47ead3
mov eax, dword [esp + 0x20]
test esi, esi
movzx eax, byte [eax + 0x158]
je 0x47e73b
mov ecx, ebx
and ecx, 4
je 0x47e73b
mov ecx, dword [esp + 4]
cmp byte [esi + ecx - 1], al
jne 0x47ead3
test bl, 8
je 0x47e74d
mov ecx, dword [esp + 4]
cmp byte [ecx + esi], al
jne 0x47ead3
test esi, esi
je 0x47e77d
mov eax, ebx
and eax, 0x10
je 0x47e77d
mov eax, dword [esp + 4]
movzx eax, byte [esi + eax - 1]
cmp eax, 0xa
je 0x47e77d
cmp eax, 0xd
jne 0x47ead3
mov eax, dword [esp + 4]
cmp byte [eax + esi], 0xa
je 0x47ead3
test bl, 0x20
je 0x47e7c0
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi]
cmp eax, 0xd
je 0x47e7c0
cmp eax, 0xa
jne 0x47ead3
test esi, esi
je 0x47e85b
mov eax, dword [esp + 4]
cmp byte [eax + esi - 1], 0xd
je 0x47ead3
lea ecx, [esi - 1]
test bl, 0x40
jne 0x47e7e7
test bl, bl
js 0x47e81f
jmp 0x47e890
test bl, 0x40
jne 0x47e7e0
test bl, bl
jns 0x47e890
test esi, esi
jne 0x47e81c
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi]
jmp 0x47e876
test esi, esi
je 0x47e851
lea ecx, [esi - 1]
cmp ecx, dword [esp]
jae 0x47ed1b
mov edx, dword [esp + 4]
movzx eax, byte [edx + ecx]
movzx ecx, byte [edx + esi]
cmp byte [eax + 0x54ed68], 0
setne al
cmp byte [ecx + 0x54ed68], 0
setne cl
xor cl, al
je 0x47ead3
test bl, bl
jns 0x47e890
lea ecx, [esi - 1]
cmp ecx, dword [esp]
jae 0x47ed1b
mov edx, dword [esp + 4]
movzx eax, byte [edx + ecx]
movzx ecx, byte [edx + esi]
cmp byte [eax + 0x54ed68], 0
setne al
cmp byte [ecx + 0x54ed68], 0
setne cl
xor cl, al
je 0x47e890
jmp 0x47ead3
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi]
jmp 0x47e862
mov al, 0xa
test bl, 0x40
je 0x47e872
movzx ecx, al
cmp byte [ecx + 0x54ed68], 0
je 0x47ead3
test bl, bl
jns 0x47e890
movzx eax, al
cmp byte [eax + 0x54ed68], 0
jne 0x47ead3
nop word cs:[eax + eax]
test ebx, 0x100
je 0x47e8b0
mov ecx, dword [esp + 4]
mov edx, dword [esp]
push esi
call fcn.0047ee90
add esp, 4
test al, al
je 0x47ead3
test ebx, 0x200
je 0x47e8d0
mov ecx, dword [esp + 4]
mov edx, dword [esp]
push esi
call fcn.0047f250
add esp, 4
test al, al
je 0x47ead3
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
shrd ebx, esi, 0xa
jne 0x47e910
jmp 0x47e390
cmp eax, ecx
jae 0x47e390
btr ebx, eax
mov dword [edx + eax*4], edi
test ebx, ebx
jne 0x47e910
mov eax, 0x20
jmp 0x47e8f0
tzcnt eax, ebx
jmp 0x47e8f0
mov ecx, dword [eax + 0x28]
mov esi, ebp
mov dword [esp + 0x30], 0
cmp esi, ecx
jb 0x47ead3
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 0x130]
mov edi, dword [eax + 0x14]
shl esi, cl
add esi, dword [eax + 0x134]
cmp esi, edi
jae 0x47ed36
mov eax, dword [eax + 0x10]
mov ebp, edx
mov ebx, dword [eax + esi*8]
mov esi, dword [eax + esi*8 + 4]
test ebx, 0x3ff
je 0x47ebfc
mov eax, dword [esp + 0xa4]
test ebp, ebp
mov edx, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x158]
je 0x47e988
mov ecx, ebx
and ecx, 1
jne 0x47ead3
cmp ebp, edi
je 0x47e997
mov ecx, ebx
and ecx, 2
jne 0x47ead3
test ebp, ebp
je 0x47e9b6
mov ecx, ebx
and ecx, 4
je 0x47e9b6
lea ecx, [ebp - 1]
cmp ecx, edi
jae 0x47ed94
cmp byte [edx + ecx], al
jne 0x47ead3
cmp ebp, edi
je 0x47e9d2
mov ecx, ebx
and ecx, 8
je 0x47e9d2
cmp ebp, edi
jae 0x47eda0
cmp byte [edx + ebp], al
jne 0x47ead3
test bl, 0x10
je 0x47ea06
test ebp, ebp
je 0x47ea06
lea ecx, [ebp - 1]
cmp ecx, edi
jae 0x47edba
movzx eax, byte [edx + ecx]
cmp eax, 0xa
je 0x47ea06
cmp eax, 0xd
jne 0x47ead3
cmp ebp, edi
jae 0x47ea06
cmp byte [edx + ebp], 0xa
je 0x47ead3
test bl, 0x20
je 0x47ea2b
cmp ebp, edi
je 0x47ea2b
jae 0x47edc6
movzx eax, byte [edx + ebp]
cmp eax, 0xa
je 0x47eaf1
cmp eax, 0xd
jne 0x47ead3
test bl, 0x40
je 0x47eb71
test ebp, ebp
je 0x47eb4b
lea ecx, [ebp - 1]
cmp ecx, edi
jae 0x47edae
movzx eax, byte [edx + ecx]
cmp byte [eax + 0x54ed68], 0
setne al
jmp 0x47eb4d
inc esi
mov edx, ebp
xor ebp, ebp
cmp esi, dword [eax + 0x20]
jae 0x47e2ea
shl esi, 2
add esi, dword [eax + 0x1c]
jmp 0x47e2e8
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x47ea96
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x47ee2c
mov dword [0x5a1188], eax
push 0xc
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x47ee2c
mov byte [eax], 3
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 4], eax
mov dword [ecx], 2
jmp 0x47ed10
mov ecx, dword [esp + 0x48]
mov edx, ebp
cmp esi, ecx
jae 0x47e92b
cmp dword [esp + 0x30], 1
mov ecx, dword [esp + 0x3c]
je 0x47ec9b
mov eax, dword [esp + 0x1c]
mov dword [eax], 0
jmp 0x47ed10
test ebp, ebp
je 0x47eb40
cmp byte [edx + ebp - 1], 0xd
je 0x47ead3
lea ecx, [ebp - 1]
test bl, 0x40
jne 0x47ea3f
test bl, bl
js 0x47eb7c
jmp 0x47ebba
mov ecx, dword [esp + 0x44]
mov edx, dword [esp]
push 0x54c5d4
call fcn.00532ca0
mov edx, dword [esp + 0x28]
push 0x54c6d0
call fcn.00532ca0
mov edx, dword [esp + 0x28]
mov ecx, eax
push 0x54c6f0
call fcn.00532ca0
test bl, 0x40
jne 0x47eb4b
test bl, bl
jns 0x47ebba
jmp 0x47eb94
xor eax, eax
cmp ebp, edi
jae 0x47eb69
movzx ecx, byte [edx + ebp]
cmp byte [ecx + 0x54ed68], 0
setne cl
cmp al, cl
je 0x47ead3
jmp 0x47eb71
test al, al
je 0x47ead3
test bl, bl
jns 0x47ebba
test ebp, ebp
je 0x47eb94
lea ecx, [ebp - 1]
cmp ecx, edi
jae 0x47edae
movzx eax, byte [edx + ecx]
cmp byte [eax + 0x54ed68], 0
setne al
jmp 0x47eb96
xor eax, eax
cmp ebp, edi
jae 0x47ebb2
movzx ecx, byte [edx + ebp]
cmp byte [ecx + 0x54ed68], 0
setne cl
xor al, cl
jne 0x47ead3
jmp 0x47ebba
test al, al
jne 0x47ead3
test ebx, 0x100
je 0x47ebdf
mov ecx, edx
mov dword [esp + 4], edx
mov edx, edi
push ebp
call fcn.0047ee90
mov edx, dword [esp + 8]
add esp, 4
test al, al
je 0x47ead3
test ebx, 0x200
je 0x47ebfc
mov ecx, edx
mov edx, edi
push ebp
call fcn.0047f250
add esp, 4
test al, al
je 0x47ead3
mov eax, esi
shr eax, 9
or eax, 1
cmp eax, dword [esp + 0xac]
jae 0x47ec1a
mov edx, dword [esp + 0xa8]
lea ecx, [ebp + 1]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0xac]
mov eax, esi
shr eax, 0xa
mov dword [esp + 8], eax
sub ecx, dword [esp + 0x24]
jbe 0x47ec97
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x14]
cmp ecx, ebx
jne 0x47ee75
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x24]
lea edi, [eax + ecx*4]
lea eax, [ebx*4]
push eax
push dword [esp + 0x38]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
shld esi, eax, 0x16
je 0x47ec97
tzcnt eax, esi
cmp eax, ebx
jae 0x47ec97
inc ebp
jmp 0x47ec83
mov eax, 0x20
cmp eax, dword [esp + 0x14]
jae 0x47ec97
btr esi, eax
mov dword [edi + eax*4], ebp
test esi, esi
je 0x47ec78
tzcnt eax, esi
cmp eax, dword [esp + 0x14]
jb 0x47ec83
mov ecx, dword [esp + 8]
cmp byte [esp + 0x40], 0
je 0x47ed03
mov esi, dword [esp + 0xac]
mov ebx, ecx
add ecx, ecx
cmp ecx, esi
jae 0x47ed44
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
mov eax, dword [edi + ecx*4]
test eax, eax
je 0x47ee4d
lea ecx, [ebx + ebx + 1]
cmp ecx, esi
jae 0x47ed50
mov ecx, dword [edi + ecx*4]
test ecx, ecx
je 0x47ee61
cmp eax, ecx
mov ecx, ebx
jne 0x47ed03
dec eax
cmp eax, dword [edx + 0xc]
jae 0x47ecfd
mov ecx, dword [edx + 8]
cmp byte [ecx + eax], 0xbf
mov ecx, ebx
jg 0x47ed03
jmp 0x47eae2
jne 0x47eae2
mov eax, dword [esp + 0x1c]
mov dword [eax], 1
mov dword [eax + 4], ecx
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp]
push 0x54ef18
call fcn.00532ca0
xor ecx, ecx
xor edx, edx
push 0x54c658
call fcn.00532ca0
mov ecx, esi
mov edx, edi
push 0x54c6f0
call fcn.00532ca0
mov edx, esi
push 0x54c594
call fcn.00532ca0
mov edx, esi
push 0x54c5b4
call fcn.00532ca0
mov edx, dword [esp]
push 0x54ed48
call fcn.00532ca0
mov edx, dword [esp]
mov ecx, esi
push 0x54ed58
call fcn.00532ca0
mov edx, dword [esp]
push 0x54eef8
call fcn.00532ca0
mov edx, dword [esp]
mov ecx, esi
push 0x54ef08
call fcn.00532ca0
mov edx, edi
push 0x54ed48
call fcn.00532ca0
mov ecx, ebp
mov edx, edi
push 0x54ed58
call fcn.00532ca0
mov edx, edi
push 0x54ef18
call fcn.00532ca0
mov edx, edi
push 0x54eef8
call fcn.00532ca0
mov ecx, ebp
mov edx, edi
push 0x54ef08
call fcn.00532ca0
mov ecx, ebx
push 0x54c870
call fcn.00532d00
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x74]
mov edx, 0x5503f4
mov dword [esp + 0x6c], 0x54f804
mov dword [esp + 0x74], 0x5503ec
mov dword [esp + 0x78], 1
mov dword [esp + 0x84], 0
mov dword [esp + 0x70], fcn.00441540
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 1
call fcn.00532c10
mov ecx, 4
mov edx, 0xc
call fcn.00531970
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
push 0x54c648
call fcn.00533250
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x54c5a4
call fcn.00532d60
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x54c5c4
call fcn.00532d60
mov edx, ebx
push 0x54c648
call fcn.00533250
int3