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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe4
mov eax, dword [0x6fe1c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x14]
mov ebx, ecx
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x53e09f
test esi, esi
je 0x53e09f
mov ecx, edi
call fcn.004fc993
test al, al
jne 0x53e09f
mov ecx, esi
call fcn.004fc993
test al, al
jne 0x53e09f
mov ecx, edi
call fcn.004fc376
mov ecx, esi
mov dword [ebp - 0xc4], eax
call fcn.004fc376
mov ecx, dword [ebp - 0xbc]
mov edi, eax
cmp dword [ebp - 0xc4], ecx
mov dword [ebp - 0xd0], 0xc
setne byte [ebp - 0x7a]
cmp edi, esi
setne byte [ebp - 0x7b]
jne 0x53d3e6
mov ecx, esi
call fcn.004fc428
test al, al
jne 0x53d3e6
push 0xc
pop eax
mov byte [ebp - 0x79], 0
cmp dword [esi + 4], eax
jne 0x53d3ea
mov byte [ebp - 0x79], 1
mov ecx, dword [ebp - 0xc4]
and dword [ebp - 0x74], 0
mov al, byte [ebp + 0x1c]
mov byte [ebp - 0x89], al
cmp dword [ecx + 4], 0x11
mov byte [ebp - 0x6d], 0
jne 0x53d453
call fcn.004fbee3
mov eax, dword [eax + 0x24]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0xb4], ecx
test ecx, ecx
je 0x53d44a
mov eax, dword [ebx + 4]
mov esi, dword [eax + 0xb8]
call fcn.004fbe6c
push esi
mov ecx, dword [eax + 0x2c]
call fcn.004dc5c6
test al, al
je 0x53d44a
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x74], 1
mov byte [ebp - 0x89], 1
jmp 0x53d4b0
cmp dword [ecx + 4], 0
jne 0x53d4b0
mov eax, dword [ebx + 4]
mov esi, dword [eax + 0xb8]
call fcn.004fbe6c
push esi
mov ecx, dword [eax + 0x2c]
call fcn.004dc5c6
test al, al
je 0x53d4b0
mov esi, dword [ebp - 0xc4]
mov ecx, esi
call fcn.004fbe6c
push 0xd
mov ecx, esi
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x74], 1
call fcn.004fc82c
test al, al
jne 0x53d4ac
push 0xe
mov ecx, esi
call fcn.004fc82c
mov byte [ebp - 0x6d], 0
test al, al
je 0x53d4b0
mov byte [ebp - 0x6d], 1
cmp dword [edi + 4], 0x11
mov dword [ebp - 0xc0], 3
jne 0x53d50c
mov ecx, edi
call fcn.004fbee3
cmp byte [ebp + 0x1c], 0
jne 0x53d576
mov eax, dword [eax + 0x24]
mov edi, dword [eax + 0x3c]
test edi, edi
je 0x53d576
mov eax, dword [ebx + 4]
mov ecx, edi
mov esi, dword [eax + 0xb8]
call fcn.004fbe6c
push esi
mov ecx, dword [eax + 0x2c]
call fcn.004dc5c6
mov esi, dword [ebp - 0x74]
test al, al
je 0x53d579
mov dword [ebp + esi*4 - 0xd8], edi
inc esi
mov dword [ebp - 0x74], esi
jmp 0x53d579
cmp dword [edi + 4], 0
jne 0x53d572
mov eax, dword [ebx + 4]
mov ecx, edi
mov esi, dword [eax + 0xb8]
call fcn.004fbe6c
push esi
mov ecx, dword [eax + 0x2c]
call fcn.004dc5c6
test al, al
je 0x53d546
mov ecx, edi
call fcn.004fbe6c
mov esi, dword [ebp - 0x74]
mov dword [ebp + esi*4 - 0xd8], eax
inc esi
mov dword [ebp - 0x74], esi
jmp 0x53d549
mov esi, dword [ebp - 0x74]
cmp byte [ebp - 0x6d], 0
je 0x53d579
push 3
pop ecx
push ecx
mov ecx, edi
call fcn.004fc82c
test al, al
jne 0x53d579
push 0xc
pop eax
push eax
mov ecx, edi
call fcn.004fc82c
test al, al
jne 0x53d579
mov byte [ebp - 0x6d], al
jmp 0x53d579
mov byte [ebp - 0x6d], 0
mov esi, dword [ebp - 0x74]
test esi, esi
je 0x53e09f
push 8
pop esi
push 0xc
lea eax, [ebp - 0x68]
mov ecx, esi
pop edx
and dword [eax], 0
and dword [eax + 4], 0
add eax, edx
sub ecx, 1
jne 0x53d58c
or dword [ebp - 0xac], 0xffffffff
lea edx, [ebp - 0x68]
or dword [ebp - 0x98], 0xffffffff
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x80], edx
xor edx, edx
mov dword [ebp - 0xcc], esi
mov edi, edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0xa8], edx
mov byte [ebp - 0x77], dl
mov byte [ebp - 0x78], dl
mov dword [ebp - 0xb4], edi
test eax, eax
je 0x53e09f
mov edi, dword [ebp + edi*4 - 0xd8]
mov dword [ebp - 0x6c], edi
test edi, edi
je 0x53da3e
mov eax, dword [ebx + 4]
mov ecx, edi
mov esi, dword [eax + 0xb8]
call fcn.004fbe6c
push esi
mov ecx, dword [eax + 0x2c]
call fcn.004dc5c6
test al, al
je 0x53da3b
mov ecx, edi
call fcn.004fbe6c
mov edx, dword [eax + 0x2c]
mov eax, dword [edx + 0x80]
mov ecx, dword [edx + 0x84]
shr eax, 0x19
and ecx, 0x1ff
test al, 1
je 0x53d64c
cmp ecx, 0xd
je 0x53d646
cmp ecx, 0xe
je 0x53d646
cmp ecx, 6
jne 0x53d64c
mov byte [ebp - 0x76], 1
jmp 0x53d650
mov byte [ebp - 0x76], 0
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x84], eax
test eax, eax
je 0x53da27
imul ecx, dword [ebp - 0xb8], 0xc
mov dword [ebp - 0xa0], ecx
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x14], 1
jne 0x53da10
cmp byte [ebp + 0x1c], 0
mov esi, dword [ebp - 0x84]
je 0x53d69a
mov eax, dword [esi + 0x88]
and eax, 0xfc
cmp al, 0x18
jne 0x53da10
mov eax, dword [ebx + 4]
push esi
mov ecx, dword [eax + 0xc]
call fcn.005083a6
test al, al
jne 0x53da10
mov eax, dword [esi + 0x40]
push 0
push edi
mov edx, dword [eax + 0x18]
mov eax, dword [ebx + 4]
push edx
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.004fb1cf
mov ecx, dword [ebx + 4]
mov edi, eax
mov edx, dword [ebp - 0x6c]
push 0
push edx
mov ecx, dword [ecx + 0xb8]
push dword [esi + 0x3c]
mov ecx, dword [ecx + 8]
add ecx, 0x2c
call fcn.004fb1cf
cmp byte [ebp - 0x89], 0
mov esi, eax
mov al, byte [ebp + 0x1c]
mov dword [ebp - 0xa4], esi
mov byte [ebp - 0x75], al
je 0x53d732
test al, al
jne 0x53d732
mov ecx, edi
call fcn.004fc376
cmp eax, dword [ebp - 0xc4]
je 0x53d732
mov ecx, dword [ebp - 0x84]
mov eax, dword [ecx + 0x88]
and eax, 0xfc
cmp al, 0x18
jne 0x53da0d
mov byte [ebp - 0x75], 1
cmp byte [ebp - 0x6d], 0
je 0x53d75a
push 2
mov ecx, esi
call fcn.004fc82c
test al, al
jne 0x53da0d
push 0xb
mov ecx, esi
call fcn.004fc82c
test al, al
jne 0x53da0d
cmp byte [ebp - 0x7a], 0
je 0x53d78e
cmp byte [ebp - 0x79], 0
jne 0x53d76c
cmp byte [ebp - 0x75], 0
jne 0x53d78e
mov ecx, edi
call fcn.004fc4cb
test al, al
je 0x53d78e
mov eax, dword [ebx + 4]
push edi
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.004f953e
mov edi, eax
cmp byte [ebp - 0x7b], 0
je 0x53d7bc
mov ecx, esi
call fcn.004fc4cb
test al, al
je 0x53d7bc
mov eax, dword [ebx + 4]
push esi
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.004f953e
mov esi, eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x9c]
mov ecx, ebx
push 3
push edi
test eax, eax
je 0x53d7d3
push eax
call fcn.0053bdb9
jmp 0x53d7de
push dword [ebp - 0xbc]
call fcn.0053bd85
mov byte [ebp - 0x94], al
test al, al
jne 0x53d83c
cmp byte [ebp - 0x75], al
jne 0x53da0d
push 3
push dword [ebp - 0xbc]
mov ecx, ebx
push edi
call fcn.0053bd85
test al, al
jne 0x53d83c
cmp byte [ebp - 0x76], al
je 0x53da0d
mov eax, dword [ebp - 0xbc]
push 0xc
pop ecx
cmp dword [eax + 4], ecx
je 0x53da0d
cmp dword [edi + 4], ecx
je 0x53da0d
push 1
push edi
push eax
mov ecx, ebx
call fcn.0053c60f
test al, al
je 0x53da0d
push 3
push dword [ebp - 0x90]
mov ecx, ebx
push esi
call fcn.0053bd85
mov byte [ebp - 0xe0], al
test al, al
jne 0x53d8aa
cmp byte [ebp - 0x75], al
jne 0x53da0d
push 3
push esi
push dword [ebp - 0x90]
mov ecx, ebx
call fcn.0053bd85
test al, al
jne 0x53d8aa
cmp byte [ebp - 0x76], al
je 0x53da0d
mov eax, dword [ebp - 0x90]
push 0xc
pop ecx
cmp dword [eax + 4], ecx
je 0x53da0d
cmp dword [esi + 4], ecx
je 0x53da0d
push 1
push eax
push esi
mov ecx, ebx
call fcn.0053c60f
test al, al
je 0x53da0d
push dword [ebp - 0xe0]
push dword [ebp - 0x94]
push dword [ebp - 0x6c]
push dword [ebp - 0x84]
push dword [ebp - 0xb8]
push dword [ebp - 0x80]
call fcn.00529de0
test al, al
jne 0x53da0d
mov eax, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xcc]
cmp eax, esi
jl 0x53d926
add esi, esi
xor edx, edx
imul ecx, esi, 0xc
mov dword [ebp - 0xcc], esi
mov eax, ecx
div dword [ebp - 0xd0]
cmp eax, esi
jne 0x53e0b8
mov eax, ecx
call fcn.004333c5
mov esi, esp
push dword [ebp - 0xa0]
push dword [ebp - 0x80]
push esi
call fcn.00435014
mov eax, dword [ebp - 0xb8]
add esp, 0xc
mov dword [ebp - 0x80], esi
mov edx, dword [ebp - 0x80]
mov esi, eax
mov ecx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0xb8], eax
push 0xc
pop eax
add dword [ebp - 0xa0], eax
imul eax, esi, 0xc
cmp byte [ebp - 0x77], 0
mov dword [edx + eax], ecx
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x6c]
mov dword [eax + ecx + 4], edx
mov edx, dword [ebp - 0x80]
mov cl, byte [ebp - 0x94]
mov byte [eax + edx + 8], cl
mov cl, byte [ebp - 0xe0]
mov byte [eax + edx + 9], cl
jne 0x53d9b9
cmp edi, dword [ebp - 0xbc]
jne 0x53d97c
mov byte [ebp - 0x77], 1
jmp 0x53d9ad
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x53d9ad
cmp ecx, edi
je 0x53d9b9
imul eax, dword [ebp - 0xac], 0xc
push dword [ebp - 0x94]
push edi
movzx eax, byte [eax + edx + 8]
push eax
push ecx
mov ecx, ebx
call fcn.0053e4ef
mov edx, dword [ebp - 0x80]
test eax, eax
jle 0x53d9b9
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xac], esi
cmp byte [ebp - 0x78], 0
jne 0x53da0d
mov edi, dword [ebp - 0xa4]
cmp edi, dword [ebp - 0x90]
jne 0x53d9d3
mov byte [ebp - 0x78], 1
jmp 0x53da01
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x53da01
cmp ecx, edi
je 0x53da0d
imul eax, dword [ebp - 0x98], 0xc
push dword [ebp - 0xe0]
push edi
movzx eax, byte [eax + edx + 9]
push eax
push ecx
mov ecx, ebx
call fcn.0053e540
test eax, eax
jle 0x53da0d
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0x98], esi
mov edi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x53d66e
mov ecx, edi
call fcn.004fcc79
mov edi, eax
mov dword [ebp - 0x6c], eax
test edi, edi
jne 0x53d5f3
mov eax, dword [ebp - 0x74]
mov edi, dword [ebp - 0xb4]
inc edi
mov dword [ebp - 0xb4], edi
cmp edi, eax
jl 0x53d5e1
cmp dword [ebp - 0x88], 0
je 0x53e09f
or ecx, 0xffffffff
xor esi, esi
or eax, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0xb8], esi
jle 0x53dbab
mov edi, dword [ebp - 0x80]
add edi, 4
mov dword [ebp - 0x94], edi
mov ecx, dword [edi - 4]
call fcn.004db6e8
push 0
push dword [edi]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0x18]
mov eax, dword [ebx + 4]
push edx
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.004fb1cf
mov ecx, dword [edi - 4]
mov dword [ebp - 0xa0], eax
call fcn.004db6e8
mov ecx, dword [ebx + 4]
push 0
push dword [edi]
mov ecx, dword [ecx + 0xb8]
push dword [eax + 0x3c]
mov ecx, dword [ecx + 8]
add ecx, 0x2c
call fcn.004fb1cf
xor edi, edi
mov dword [ebp - 0x84], eax
cmp byte [ebp - 0x7a], 0
je 0x53db19
mov ecx, dword [ebp - 0xa0]
call fcn.004fc4cb
test al, al
je 0x53db13
mov eax, dword [ebx + 4]
push dword [ebp - 0xa0]
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.004f953e
mov dword [ebp - 0xa0], eax
inc edi
mov eax, dword [ebp - 0x84]
cmp byte [ebp - 0x7b], 0
je 0x53db4e
mov ecx, eax
call fcn.004fc4cb
test al, al
je 0x53db4e
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.004f953e
mov dword [ebp - 0x84], eax
inc edi
jmp 0x53db54
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x88]
cmp ecx, edx
jne 0x53dbbf
cmp eax, dword [ebp - 0xa8]
jne 0x53dbbf
cmp dword [ebp - 0xc0], edi
jle 0x53db8a
mov ecx, esi
mov dword [ebp - 0xc0], edi
or eax, 0xffffffff
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x6c], eax
jmp 0x53dc32
mov eax, dword [ebp - 0x6c]
jl 0x53dc2f
mov ecx, dword [ebp - 0x74]
test eax, eax
jns 0x53dc32
mov eax, esi
mov dword [ebp - 0x6c], eax
test edi, edi
jne 0x53dc32
cmp dword [ebp - 0xc8], 0
jne 0x53dd1d
mov al, 1
jmp 0x53e0a1
cmp byte [ebp - 0x77], 0
mov edi, dword [ebp - 0x94]
jne 0x53dbf1
cmp ecx, edx
je 0x53dbf1
movzx eax, byte [edi + 4]
push eax
imul eax, dword [ebp - 0xac], 0xc
push ecx
mov ecx, dword [ebp - 0x80]
movzx eax, byte [eax + ecx + 8]
mov ecx, ebx
push eax
push edx
call fcn.0053e4ef
test eax, eax
jns 0x53dc55
cmp byte [ebp - 0x78], 0
jne 0x53dc2c
mov edx, dword [ebp - 0x84]
cmp edx, dword [ebp - 0xa8]
je 0x53dc2c
movzx eax, byte [edi + 5]
mov ecx, dword [ebp - 0x80]
push eax
imul eax, dword [ebp - 0x98], 0xc
push edx
movzx eax, byte [eax + ecx + 9]
mov ecx, ebx
push eax
push dword [ebp - 0xa8]
call fcn.0053e540
test eax, eax
jns 0x53dc55
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x94]
inc esi
push 0xc
pop edx
add edi, edx
mov dword [ebp - 0x94], edi
cmp esi, dword [ebp - 0xb8]
jge 0x53dbab
jmp 0x53da85
cmp dword [ebp - 0xc8], 0
je 0x53dbb8
mov dword [ebp - 0x98], esi
mov esi, dword [ebp - 0x90]
sub esp, 0x10
imul edx, dword [ebp - 0x98], 0xc
mov eax, esp
push 7
mov dword [eax + 4], esi
add edx, dword [ebp - 0x80]
pop ecx
mov dword [eax], ecx
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 4], ecx
mov ecx, esp
push 0xf
pop edi
sub esp, 0x10
mov dword [ecx], edi
mov eax, dword [edx]
mov dword [ecx + 4], eax
mov eax, dword [edx + 4]
imul edx, dword [ebp - 0xac], 0xc
mov dword [ecx + 8], eax
mov ecx, esp
push 0x127
add edx, dword [ebp - 0x80]
mov dword [ecx], edi
mov edi, dword [ebp - 0xb0]
push edi
mov eax, dword [edx]
mov dword [ecx + 4], eax
mov eax, dword [edx + 4]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 0x10]
call fcn.004d3415
mov ecx, dword [ebx + 4]
xor eax, eax
push eax
push eax
push esi
add ecx, 0x14
push eax
call fcn.0053072d
push dword [ebp - 0x9c]
mov ecx, dword [ebx + 4]
push eax
push 0
add ecx, 0x14
push edi
call fcn.0052f412
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
or dword [eax + 0xc], 0x10000000
jmp 0x53dbb8
test ecx, ecx
js 0x53dc68
test eax, eax
js 0x53dd3a
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x98], eax
jmp 0x53dc68
mov eax, dword [ebp - 0x80]
imul esi, ecx, 0xc
mov ecx, dword [eax + esi]
call fcn.004db6e8
mov edi, eax
mov eax, dword [ebp - 0x80]
mov ecx, edi
mov dword [ebp - 0xdc], edi
neg ecx
sbb ecx, ecx
and dword [ebp - 0xd4], 0
and ecx, dword [esi + eax + 4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xd8], ecx
test edi, edi
je 0x53dd7d
cmp byte [edi], 9
jne 0x53e0b8
mov edx, dword [edi]
mov eax, edx
shr eax, 0xa
test al, 1
je 0x53dda0
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x53dda0
push ecx
mov ecx, dword [ebx + 4]
mov edx, eax
push edi
call fcn.00526710
mov edx, dword [edi]
cmp dl, 9
jne 0x53e0b8
mov eax, dword [edi + 0x40]
mov esi, dword [ebp - 0xd0]
push 0
push esi
mov edx, dword [eax + 0x18]
mov eax, dword [ebx + 4]
push edx
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.004fb1cf
cmp byte [edi], 9
mov dword [ebp - 0x88], eax
jne 0x53e0b8
mov ecx, dword [ebx + 4]
push 0
push esi
push dword [edi + 0x3c]
mov ecx, dword [ecx + 0xb8]
mov ecx, dword [ecx + 8]
add ecx, 0x2c
call fcn.004fb1cf
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xa4], edx
test ecx, ecx
jle 0x53e03c
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 4], 0x10
je 0x53e03c
cmp byte [ebp - 0x79], 0
je 0x53e03c
mov ecx, dword [ebx + 4]
lea esi, [ebp - 0xdc]
sub esp, 0xc
add ecx, 0x14
mov edi, esp
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0052f2f8
mov esi, dword [ebp - 0x9c]
lea edx, [ebp - 0xdc]
mov ecx, dword [ebx + 4]
push 0
push edx
push eax
push esi
push dword [ebp - 0x90]
add ecx, 0x14
mov dword [ebp - 0xd0], eax
push 0
push dword [ebp - 0xb0]
call fcn.0052efaa
push 0
push dword [ebp - 0x88]
mov ecx, ebx
mov dword [ebp - 0xc0], eax
push esi
call fcn.0053c595
push eax
mov dword [ebp - 0xa4], eax
call fcn.0053e0be
push 0
sub esp, 0xc
lea esi, [ebp - 0xdc]
mov edi, esp
mov ecx, ebx
push dword [ebp - 0x90]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb4]
push edi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push dword [ebp - 0xb0]
call fcn.0053e14a
mov ecx, dword [ebp - 0xc0]
mov esi, eax
call fcn.004c072e
push 0
push dword [ebp - 0x90]
mov ecx, ebx
mov dword [ebp - 0xcc], eax
push esi
mov dword [eax + 0xb0], esi
call fcn.0053c595
cmp byte [ebp - 0x7a], 0
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0xc0], eax
mov dword [ecx + 0xac], 4
je 0x53dfea
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0xc4]
je 0x53df59
mov eax, dword [ebx + 4]
push edx
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.004f953e
push 0
push eax
push dword [ebp - 0x9c]
mov ecx, ebx
call fcn.0053c595
mov esi, eax
push esi
call fcn.0053e0be
jmp 0x53df79
cmp dword [edi + 4], 0x10
jne 0x53df73
push 0
push edx
push dword [ebp - 0x9c]
mov ecx, ebx
call fcn.0053c595
mov esi, eax
jmp 0x53df79
mov esi, dword [ebp - 0x9c]
cmp byte [ebp - 0x7b], 0
je 0x53df9c
cmp dword [edi + 4], 0x10
je 0x53df9c
mov eax, dword [ebx + 4]
push edi
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.004f953e
mov edi, eax
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0xdc]
push 0
push eax
push dword [ebp - 0xd0]
add ecx, 0x14
push esi
push edi
push 0
push dword [ebp - 0xb0]
call fcn.0052efaa
mov esi, eax
mov ecx, esi
call fcn.004c072e
mov dword [eax + 0xac], 8
mov eax, dword [ebp - 0x90]
cmp eax, edi
je 0x53e028
push 0
push eax
push esi
mov ecx, ebx
call fcn.0053c595
jmp 0x53e020
mov eax, dword [ebp - 0xb4]
lea esi, [ebp - 0xdc]
push 0
sub esp, 0xc
mov ecx, ebx
mov edi, esp
push dword [ebp - 0x90]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
push dword [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
call fcn.0053e14a
mov esi, eax
push esi
call fcn.0053e0be
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0xb4], esi
mov eax, dword [ebp - 0xc0]
jmp 0x53e078
lea ecx, [ebp - 0xa4]
push ecx
sub esp, 0xc
lea esi, [ebp - 0xdc]
mov edi, esp
mov ecx, ebx
push dword [ebp - 0x90]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp - 0x88]
movsd dword es:[edi], dword [esi]
push edx
push dword [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
call fcn.0053e14a
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xdc]
push edx
push eax
push dword [ebp - 0x9c]
add ecx, 0x14
push ecx
call fcn.0052f38c
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
jmp 0x53dbb8
xor al, al
lea esp, [ebp - 0xf0]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040548e
leave
ret 0x18
call fcn.004a6d87
int3