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

Disassembly:
sub esp, 0x34
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
push edi
mov eax, dword [ebx]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], eax
cmp dword [ebx + 0x110], eax
jne 0x529f7b
mov eax, dword [esp + 0x50]
cmp dword [eax + 0x40], 0
jne 0x529f7b
mov ebp, dword [esp + 0x4c]
cmp byte [ebp + 0x2b], 1
je 0x529f7b
cmp dword [esp + 0x54], 0xb
jne 0x529c1e
cmp word [ebp + 0x20], 0
jl 0x529c16
movzx edx, byte [ebp + 0x2a]
mov dword [esp + 0x54], edx
cmp edx, 0xb
jne 0x529c1e
mov dword [esp + 0x54], 2
mov ecx, dword [eax + 0x20]
cmp dword [ecx], 1
jne 0x529f7b
cmp dword [ecx + 0x1c], 0
jne 0x529f7b
cmp dword [eax + 0x24], 0
jne 0x529f7b
cmp dword [eax + 0x30], 0
jne 0x529f7b
cmp dword [eax + 0x28], 0
jne 0x529f7b
cmp dword [eax + 0x3c], 0
jne 0x529f7b
cmp dword [eax + 0x34], 0
jne 0x529f7b
test byte [eax + 4], 1
jne 0x529f7b
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jne 0x529f7b
mov eax, dword [eax + 8]
cmp byte [eax], 0xb4
jne 0x529f7b
lea eax, [ecx + 8]
push eax
push 0
push ebx
call fcn.004e8390
mov edi, eax
add esp, 0xc
mov dword [esp + 0x10], edi
test edi, edi
je 0x529f7b
mov eax, dword [edi + 0x14]
cmp eax, dword [ebp + 0x14]
jne 0x529cb9
mov eax, dword [edi + 0x3c]
cmp eax, dword [ebp + 0x3c]
je 0x529f7b
mov esi, dword [edi + 0x1c]
mov ecx, esi
mov edx, dword [ebp + 0x1c]
mov eax, edx
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x529f7b
cmp byte [edi + 0x2b], 0
jne 0x529f7b
movzx ecx, word [ebp + 0x22]
cmp cx, word [edi + 0x22]
jne 0x529f7b
mov ax, word [ebp + 0x20]
cmp ax, word [edi + 0x20]
jne 0x529f7b
test edx, 0x10000
je 0x529d12
test esi, 0x10000
je 0x529f7b
xor eax, eax
xor ebx, ebx
cmp ax, cx
jge 0x529f37
xor ecx, ecx
mov edx, 0x200
mov dword [esp + 0x34], ecx
jmp 0x529d34
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 4]
mov edi, dword [edi + 4]
add esi, ecx
add edi, ecx
mov cx, word [esi + 0xe]
mov ax, word [edi + 0xe]
and cx, 0x60
and ax, 0x60
cmp cx, ax
jne 0x529f7b
test cx, cx
je 0x529dd9
movzx eax, word [edi + 0xc]
test ax, ax
jne 0x529d69
xor ecx, ecx
jmp 0x529d8d
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x2b], 0
je 0x529d77
xor ecx, ecx
jmp 0x529d8d
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x529d8d
cmp dword [ecx], eax
jge 0x529d86
xor ecx, ecx
jmp 0x529d8d
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 - 0xc]
movzx eax, word [esi + 0xc]
test ax, ax
jne 0x529d9a
xor eax, eax
jmp 0x529dbe
cmp byte [ebp + 0x2b], 0
je 0x529da4
xor eax, eax
jmp 0x529dbe
mov edx, dword [ebp + 0x34]
test edx, edx
jne 0x529daf
xor eax, eax
jmp 0x529dbe
cmp dword [edx], eax
jge 0x529db7
xor eax, eax
jmp 0x529dbe
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 - 0xc]
push 0xffffffffffffffff
push eax
push ecx
push 0
call fcn.004db250
add esp, 0x10
test eax, eax
jne 0x529f7b
mov edx, 0x200
mov al, byte [esi + 8]
cmp al, byte [edi + 8]
jne 0x529f7b
test word [edi + 0xe], dx
jne 0x529def
xor ecx, ecx
jmp 0x529e0b
mov eax, dword [edi]
cmp byte [eax], 0
je 0x529dfc
inc eax
cmp byte [eax], 0
jne 0x529df6
test byte [edi + 0xe], 4
je 0x529e08
inc eax
cmp byte [eax], 0
jne 0x529e02
lea ecx, [eax + 1]
test word [esi + 0xe], dx
je 0x529e45
mov eax, dword [esi]
cmp byte [eax], 0
je 0x529e1e
inc eax
cmp byte [eax], 0
jne 0x529e18
test byte [esi + 0xe], 4
je 0x529e2a
inc eax
cmp byte [eax], 0
jne 0x529e24
add eax, 1
je 0x529e45
test ecx, ecx
je 0x529f7b
push ecx
push eax
call fcn.004f93b0
add esp, 8
mov ecx, eax
jmp 0x529e49
neg ecx
sbb ecx, ecx
test ecx, ecx
jne 0x529f7b
test byte [esi + 4], 0xf
je 0x529e61
test byte [edi + 4], 0xf
je 0x529f7b
test byte [esi + 0xe], 0x60
jne 0x529f1a
test ebx, ebx
jle 0x529f1a
movzx eax, word [esi + 0xc]
test ax, ax
jne 0x529e80
xor esi, esi
jmp 0x529ea0
cmp byte [ebp + 0x2b], 0
je 0x529e8a
xor esi, esi
jmp 0x529ea0
mov esi, dword [ebp + 0x34]
test esi, esi
je 0x529ea0
cmp dword [esi], eax
jge 0x529e99
xor esi, esi
jmp 0x529ea0
lea eax, [eax + eax*4]
mov esi, dword [esi + eax*4 - 0xc]
movzx eax, word [edi + 0xc]
test ax, ax
jne 0x529ead
xor edx, edx
jmp 0x529ed1
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x2b], 0
je 0x529ebb
xor edx, edx
jmp 0x529ed1
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x529ed1
cmp dword [edx], eax
jge 0x529eca
xor edx, edx
jmp 0x529ed1
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 - 0xc]
xor ecx, ecx
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp eax, ecx
jne 0x529f7b
test esi, esi
je 0x529f1a
mov ecx, dword [edx + 8]
mov eax, dword [esi + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x529f11
test dl, dl
je 0x529f0d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x529f11
add eax, 2
add ecx, 2
test dl, dl
jne 0x529ef1
xor eax, eax
jmp 0x529f16
sbb eax, eax
or eax, 1
test eax, eax
jne 0x529f7b
mov ecx, dword [esp + 0x34]
inc ebx
movsx eax, word [ebp + 0x22]
add ecx, 0x10
mov dword [esp + 0x34], ecx
mov edx, 0x200
cmp ebx, eax
jl 0x529d30
mov edi, dword [ebp + 8]
mov ecx, 1
mov ebx, dword [esp + 0x10]
test edi, edi
je 0x529fb8
nop word [eax + eax]
cmp byte [edi + 0x36], 0
mov eax, dword [esp + 0x28]
mov esi, dword [ebx + 8]
cmovne eax, ecx
mov dword [esp + 0x28], eax
test esi, esi
je 0x529f7b
push esi
push edi
call fcn.00529ac0
add esp, 8
test eax, eax
jne 0x529f85
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x529f66
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret
mov eax, dword [esi + 0x2c]
cmp eax, dword [edi + 0x2c]
jne 0x529fac
mov eax, dword [ebx + 0x3c]
cmp eax, dword [ebp + 0x3c]
jne 0x529fac
mov eax, dword [0x58d528]
test eax, eax
je 0x529f7b
push 0x19b
call eax
add esp, 4
test eax, eax
je 0x529f7b
mov edi, dword [edi + 0x14]
mov ecx, 1
test edi, edi
jne 0x529f50
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x529fd1
push 0xffffffffffffffff
push eax
push dword [ebx + 0x10]
call fcn.004dc870
add esp, 0xc
test eax, eax
jne 0x529f7b
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
and eax, 0x4000
or eax, 0
je 0x529feb
cmp dword [ebp + 0x30], 0
jne 0x529f7b
and ecx, 1
xor eax, eax
or eax, ecx
jne 0x529f7b
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x1c], 0xffff8000
test ecx, ecx
je 0x52a01f
mov eax, dword [esi + 0x10]
xor edx, edx
add eax, 0xc
mov dword [esp + 0x1c], edx
cmp dword [eax], ecx
je 0x52a01f
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x52a013
mov dword [esp + 0x1c], edx
mov esi, dword [esp + 0x48]
push esi
call fcn.004e47f0
push dword [esp + 0x20]
mov edi, eax
push esi
mov dword [esp + 0x3c], edi
call fcn.004d2a20
mov ebx, dword [esi + 0x28]
push ebp
push dword [esp + 0x68]
mov dword [esp + 0x28], ebx
lea eax, [ebx + 1]
mov dword [esp + 0x40], eax
inc eax
push esi
mov dword [esi + 0x28], eax
call fcn.00499fe0
push esi
mov ebp, eax
call fcn.004e3df0
push eax
push 0
push 0x4b
push edi
mov dword [esp + 0x50], eax
call fcn.004fdf80
push esi
call fcn.004e3df0
mov esi, dword [esp + 0x7c]
push 0x71
push esi
push dword [esp + 0x90]
mov dword [esp + 0x5c], eax
lea eax, [ebx + 1]
push eax
push dword [esp + 0x88]
call fcn.004e9200
mov eax, dword [esp + 0x5c]
add esp, 0x44
test byte [eax + 0x18], 4
jne 0x52a0ee
cmp word [esi + 0x20], 0
jge 0x52a0af
cmp dword [esi + 8], 0
jne 0x52a0c4
cmp dword [esp + 0x28], 0
jne 0x52a0c4
mov eax, dword [esp + 0x54]
cmp eax, 2
je 0x52a0ee
cmp eax, 1
je 0x52a0ee
push 0
lea eax, [ebx + 1]
push eax
push 0x24
push edi
call fcn.004fdf80
push 9
push edi
mov esi, eax
call fcn.004fded0
push esi
push edi
mov dword [esp + 0x60], eax
call fcn.00508390
mov esi, dword [esp + 0x6c]
add esp, 0x20
mov eax, dword [esp + 0x10]
test byte [eax + 0x1c], 0x80
jne 0x52a29d
push 0x70
push eax
push dword [esp + 0x24]
push ebx
push dword [esp + 0x58]
call fcn.004e9200
push 0
push ebx
push 0x24
push edi
call fcn.004fdf80
add esp, 0x24
mov dword [esp + 0x3c], eax
cmp word [esi + 0x20], 0
jl 0x52a18e
mov esi, dword [esp + 0x20]
push esi
push ebx
push 0x87
push edi
call fcn.004fdf80
mov ebx, eax
add esp, 0x10
mov eax, dword [esp + 0x18]
test byte [eax + 0x18], 4
jne 0x52a176
push esi
push 0
push dword [esp + 0x34]
push 0x1f
push edi
call fcn.004fdfe0
push dword [esp + 0x60]
mov esi, eax
push dword [esp + 0x6c]
push dword [esp + 0x64]
call fcn.004f3530
push esi
push edi
call fcn.00508390
mov esi, dword [esp + 0x48]
add esp, 0x28
push esi
push ebp
push dword [esp + 0x50]
call fcn.0049a0b0
mov ebp, dword [esp + 0x20]
add esp, 0xc
mov esi, dword [esp + 0x2c]
jmp 0x52a1cf
cmp dword [esi + 8], 0
jne 0x52a1b5
mov eax, dword [esp + 0x18]
test byte [eax + 0x18], 8
jne 0x52a1b5
push dword [esp + 0x20]
mov esi, dword [esp + 0x30]
push esi
push 0x7f
push edi
call fcn.004fdf80
mov ebp, dword [esp + 0x24]
jmp 0x52a1ca
push dword [esp + 0x20]
mov ebp, ebx
push ebp
push 0x87
push edi
call fcn.004fdf80
lea esi, [ebp + 1]
mov ebx, eax
add esp, 0x10
mov eax, dword [esp + 0x18]
test byte [eax + 0x18], 4
je 0x52a1ef
push esi
push 0x89
push edi
call fcn.004fdf20
add esp, 0xc
mov esi, 0x98
jmp 0x52a1f4
mov esi, 0xa9
push dword [esp + 0x20]
lea eax, [ebp + 1]
push ebp
push eax
push 0x81
push edi
call fcn.004fdfe0
push dword [esp + 0x34]
lea eax, [ebp + 1]
push dword [esp + 0x3c]
push eax
push 0x80
push edi
call fcn.004fdfe0
mov eax, dword [esp + 0x40]
add esp, 0x28
test byte [eax + 0x18], 4
jne 0x52a263
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x52a263
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffec
cmp byte [eax + 1], 0
je 0x52a25c
push 0xfffffffffffffffb
push ecx
push eax
push edi
call fcn.00519000
add esp, 0x10
jmp 0x52a263
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xfb
push esi
push edi
call fcn.004fe4a0
push ebx
push ebp
push 0x27
push edi
call fcn.004fdf80
push 0
push ebp
push 0x7a
push edi
call fcn.004fdf80
push 0
lea eax, [ebp + 1]
push eax
push 0x7a
push edi
call fcn.004fdf80
mov esi, dword [esp + 0x84]
add esp, 0x38
mov ebx, dword [esp + 0x1c]
jmp 0x52a2cf
push dword [esi]
mov ebp, dword [esp + 0x4c]
push 1
push dword [esi + 0x14]
push dword [esp + 0x64]
push ebp
call fcn.004f99e0
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
push dword [eax]
push 0
push dword [eax + 0x14]
push ebx
push ebp
call fcn.004f99e0
mov ebp, dword [esp + 0x3c]
add esp, 0x28
mov eax, dword [esi + 8]
mov dword [esp + 0x28], eax
test eax, eax
je 0x52a7a5
nop
mov eax, dword [esp + 0x10]
mov byte [esp + 0x34], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x52a30d
mov edi, dword [esp + 0x28]
push esi
push edi
call fcn.00529ac0
add esp, 8
test eax, eax
jne 0x52a309
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x52a2f4
mov edi, dword [esp + 0x30]
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x52a328
push ebx
push edx
push ebp
push 0x70
push edi
call fcn.004b0300
add esp, 0x14
jmp 0x52a353
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x48]
push esi
push eax
mov ebx, dword [eax + 8]
call fcn.004e7650
mov edx, eax
add esp, 8
test edx, edx
je 0x52a3a0
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x52a38e
cmp dword [eax + 0x210], 0
jne 0x52a3a0
add dword [edx], 0xffffffff
jne 0x52a3a0
push edx
push dword [edx + 0xc]
call fcn.004d5c80
add esp, 8
jmp 0x52a3a0
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x6c]
mov edx, dword [edx + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x52a3c5
push dword [esp + 0x58]
lea eax, [ebp + 1]
push edx
push eax
push 0x71
push edi
call fcn.004b0300
add esp, 0x14
jmp 0x52a3f3
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea ebx, [ebp + 1]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4], 0x71
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x48]
push dword [esp + 0x28]
push eax
mov ebx, dword [eax + 8]
call fcn.004e7650
mov edx, eax
add esp, 8
test edx, edx
je 0x52a443
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x52a431
cmp dword [eax + 0x210], 0
jne 0x52a443
add dword [edx], 0xffffffff
jne 0x52a443
push edx
push dword [edx + 0xc]
call fcn.004d5c80
add esp, 8
jmp 0x52a443
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x52a45a
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x38], edx
cmp dword [edi + 0x70], edx
jg 0x52a47c
push 0
push 0
push ebp
push 0x24
push edi
call fcn.004b0300
add esp, 0x14
mov dword [esp + 0x38], eax
jmp 0x52a4ab
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
test byte [eax + 0x18], 4
je 0x52a5a5
movzx eax, word [esi + 0x34]
xor ebp, ebp
test eax, eax
je 0x52a4f4
mov ebx, dword [esi + 0x20]
movzx edi, word [esi + 0x34]
nop word [eax + eax]
mov eax, dword [ebx]
test eax, eax
je 0x52a4f0
push eax
push str.BINARY
call fcn.004f93b0
add esp, 8
test eax, eax
jne 0x52a4f0
inc ebp
add ebx, 4
cmp ebp, edi
jl 0x52a4d0
mov edi, dword [esp + 0x30]
movzx eax, word [esi + 0x34]
cmp ebp, eax
jne 0x52a5cb
mov ecx, dword [edi + 0x6c]
mov bl, 0x90
mov esi, dword [esp + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x52a523
push 0
push 0
push esi
push 0x89
push edi
call fcn.004b0300
add esp, 0x14
jmp 0x52a552
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x89
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
mov ebp, dword [esp + 0x14]
cmp dword [edi + 0x70], ecx
jg 0x52a579
push 0
push ebp
push esi
push 0x81
push edi
call fcn.004b0300
mov edx, dword [esp + 0x38]
add esp, 0x14
jmp 0x52a62b
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x81
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x52a623
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x34]
test byte [eax + 0x1c], 0x80
je 0x52a5d3
mov eax, dword [esp + 0x28]
movzx ebx, bl
mov al, byte [eax + 0x38]
and al, 3
cmp al, 2
mov eax, 1
cmove ebx, eax
jmp 0x52a5d3
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x52a5f9
push 1
push dword [esp + 0x28]
push ebp
push 0x86
push edi
call fcn.004b0300
mov edx, dword [esp + 0x38]
lea esi, [ebp + 1]
add esp, 0x14
jmp 0x52a62b
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea esi, [ebp + 1]
mov dword [eax + ecx*4], 0x86
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x52a647
push 0
push edx
push esi
push 0x8a
push edi
call fcn.004b0300
add esp, 0x14
jmp 0x52a676
mov ebp, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x8a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x52a68e
lea ecx, [eax + eax*4]
or bl, 8
mov eax, dword [edi + 0x68]
movzx edx, bl
mov word [eax + ecx*4 - 0x12], dx
mov ebx, dword [esp + 0x38]
mov ecx, dword [edi + 0x6c]
lea edx, [ebx + 1]
cmp dword [edi + 0x70], ecx
jg 0x52a6ae
push 0
push edx
push ebp
push 0x27
push edi
call fcn.004b0300
add esp, 0x14
jmp 0x52a6dc
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea esi, [ebp + 1]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x52a6ee
mov eax, 0x590c20
jmp 0x52a6f7
mov eax, dword [edi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x52a714
push 0
push 0
push ebp
push 0x7a
push edi
call fcn.004b0300
add esp, 0x14
jmp 0x52a743
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x52a75d
push 0
push 0
push esi
push 0x7a
push edi
call fcn.004b0300
add esp, 0x14
jmp 0x52a78c
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x52a2e0
jmp 0x52a7a9
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x52a7bb
push eax
push edi
call fcn.00508390
add esp, 8
push dword [esp + 0x20]
mov ebx, dword [esp + 0x4c]
push ebx
call fcn.004f25b0
push dword [esp + 0x2c]
push ebx
call fcn.004f25b0
mov ebp, dword [esp + 0x50]
add esp, 0x10
test ebp, ebp
je 0x52a818
cmp dword [ebx + 0x78], 0
je 0x52a7ed
push ebx
call fcn.0049a0e0
add esp, 4
push 0
push 0
push 0x46
push edi
call fcn.004fdf80
push ebp
push edi
call fcn.00508390
push 0
push esi
push 0x7a
push edi
call fcn.004fdf80
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x34
ret