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

Disassembly:
sub esp, 0x58
push ebx
mov ebx, dword [esp + 0x60]
xor ecx, ecx
push esi
xor eax, eax
mov dword [esp + 0x48], ecx
mov byte [esp + 0xa], 0
mov esi, dword [ebx + 8]
mov byte [esp + 0xb], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], eax
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0x30], esi
mov dword [esp + 0x4c], ecx
cmp dword [esi + 0x70], ecx
jg 0x57363a
push eax
push eax
push eax
push 0xf
push esi
call fcn.005815b0
add esp, 0x14
mov dword [esp + 0x4c], eax
jmp 0x57366d
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xf
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x74]
xorps xmm0, xmm0
push ebp
mov ebp, dword [esp + 0x6c]
push edi
movlpd qword [esp + 0x60], xmm0
mov dword [esp + 0x18], 0
mov eax, dword [ebp]
mov edx, dword [eax + 4]
movzx eax, byte [ecx + 0x3c]
mov ecx, dword [ecx + 0x50]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x64]
lea eax, [eax + eax*8]
mov dword [esp + 0x3c], edx
lea eax, [eax + 1]
lea ebp, [edx + eax*8]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], ebp
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edi
mov dword [esp + 0x44], eax
cmp edi, eax
jae 0x5739a6
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
nop
test byte [edi + 0xa], 2
mov ebp, dword [edi]
jne 0x573856
mov eax, dword [esp + 0x7c]
push 0
movzx eax, byte [eax + 0x3c]
push eax
push edx
push ebp
call fcn.005b07b0
add esp, 0x10
test eax, eax
je 0x573852
test ebp, ebp
je 0x573720
push 0
push 0
push ebp
push dword [ebx]
call fcn.00579190
add esp, 0x10
mov ebp, eax
jmp 0x573722
xor ebp, ebp
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebx]
mov dword [esp + 0x4c], ecx
test edx, edx
jne 0x573739
mov dword [esp + 0x1c], ebp
jmp 0x573852
test ebp, ebp
je 0x57384e
mov eax, dword [ebp + 4]
or eax, dword [edx + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x5737a8
cmp byte [ebx + 0xdc], 2
jae 0x5737a8
push edx
push 0x5afa90
push ebx
call fcn.005c0350
push ebp
push 0x5afa90
push ebx
call fcn.005c0350
push 0
lea eax, [esp + 0x7c]
mov dword [esp + 0x7c], 0x6a6670
push eax
push 0x9b
push dword [esp + 0x70]
mov dword [esp + 0x8c], 1
call fcn.005ac4a0
add esp, 0x28
mov dword [esp + 0x1c], eax
jmp 0x573852
push 0
push 0x34
push ecx
call fcn.005a9cf0
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
je 0x573833
push 0x34
push 0
push eax
call fcn.00621d30
mov edx, dword [esp + 0x38]
or eax, 0xffffffff
add esp, 0xc
mov word [edx + 0x22], ax
mov eax, dword [esp + 0x1c]
mov dword [edx + 0x10], ebp
mov byte [edx], 0x2c
mov ecx, dword [ebp + 4]
and ecx, 0x400208
or ecx, dword [edx + 4]
mov dword [edx + 4], ecx
mov ebp, dword [ebp + 0x18]
inc ebp
mov dword [edx + 0x18], ebp
mov dword [edx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x400208
or eax, ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x18]
cmp eax, ebp
jl 0x573816
lea ebp, [eax + 1]
mov dword [edx + 0x18], ebp
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp ebp, eax
jle 0x57384e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005abd70
add esp, 0xc
jmp 0x57384a
mov eax, dword [esp + 0x1c]
push eax
push dword [ebx]
call fcn.005afab0
push ebp
push dword [ebx]
call fcn.005afab0
add esp, 0x10
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov eax, dword [edi + 0x14]
cmp eax, dword [ebp + 0x2c]
jne 0x57398f
test byte [edi + 0xc], 0x82
je 0x57398f
test byte [ebp + 0x24], 0x58
je 0x573888
push ebp
push edi
call fcn.005735c0
add esp, 8
test eax, eax
je 0x57398b
mov ecx, dword [esp + 0x74]
mov eax, dword [edi + 0x24]
and ecx, dword [edi + 0x20]
and eax, dword [esp + 0x78]
or ecx, eax
jne 0x57398b
mov ecx, dword [edi + 0x18]
test ecx, ecx
js 0x57398b
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 8]
mov byte [esp + 0x40], al
push dword [esp + 0x40]
push dword [edi]
call fcn.005b95b0
add esp, 8
test eax, eax
je 0x57398b
mov edx, dword [edi + 0x18]
xor ebp, ebp
cmp edx, 0x40
jl 0x5738e3
mov dword [esp + 0x2c], SysStringLen
jmp 0x5738fc
mov eax, edx
xor ecx, ecx
bts ebp, eax
cmp eax, 0x20
cmovae ecx, ebp
xor ebp, ecx
cmp eax, 0x40
cmovae ecx, ebp
mov dword [esp + 0x2c], ecx
cmp byte [esp + 0x12], 0
jne 0x573928
mov ecx, dword [esp + 0x34]
add edx, edx
mov eax, dword [ecx + 4]
push dword [eax + edx*8]
push dword [ecx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.00553fa0
add esp, 0x10
mov byte [esp + 0x12], 1
mov eax, dword [esp + 0x2c]
mov ecx, ebp
and ecx, dword [esp + 0x28]
and eax, dword [esp + 0x14]
or ecx, eax
jne 0x573987
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
inc eax
push eax
push ecx
push dword [ebx]
mov dword [esp + 0x58], eax
call fcn.005f97c0
add esp, 0xc
test eax, eax
jne 0x5742d9
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
or dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x20]
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], edi
mov ecx, dword [esp + 0x14]
or ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jmp 0x57398f
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
add edi, 0x30
cmp edi, dword [esp + 0x44]
jb 0x5736e0
mov edx, dword [esp + 0x28]
jmp 0x5739aa
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x30]
not edx
mov eax, dword [esp + 0x18]
not ecx
movzx eax, ax
mov dword [esp + 0x28], edx
mov word [edi + 0x30], ax
mov word [edi + 0x18], ax
mov eax, dword [esp + 0x34]
mov dword [edi + 0x2c], 0x4241
mov dword [esp + 0x14], ecx
cmp byte [eax + 0x2b], 2
je 0x5739ee
and edx, dword [ebp + 0x38]
or ecx, 0x80000000
and ecx, dword [ebp + 0x3c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], ecx
movzx eax, word [eax + 0x22]
mov ecx, 0x3f
xor edi, edi
cmp cx, ax
jge 0x573a06
mov ebp, ecx
mov dword [esp + 0x24], ebp
jmp 0x573a11
movsx ebp, ax
mov dword [esp + 0x24], ebp
test ebp, ebp
jle 0x573a50
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
nop dword [eax]
xor edx, edx
xor ecx, ecx
mov eax, edi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, ebx
and ecx, esi
or edx, ecx
je 0x573a43
inc dword [esp + 0x18]
inc edi
cmp edi, ebp
jl 0x573a20
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x3c], 0
jg 0x573a77
jl 0x573a62
cmp dword [eax + 0x38], 0
jae 0x573a77
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
add ecx, 0xffffffc1
movsx eax, word [eax + 0x22]
add ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
mov edi, dword [ebx]
movzx eax, ax
inc eax
movzx eax, ax
movsx ebp, ax
mov dword [esp + 0x3c], eax
lea eax, [ebp*4 + 9]
add eax, ebp
lea ecx, [ebp*4 + 7]
and eax, 0xfffffff8
and ecx, 0xfffffff8
add eax, 0x48
mov dword [esp + 0x40], ecx
add eax, ecx
mov dword [esp + 0x4c], eax
cdq
push edx
push eax
test edi, edi
je 0x573ac6
push edi
call fcn.005a9cf0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x2c], edi
jmp 0x573ad4
call fcn.005bcc80
add esp, 8
mov dword [esp + 0x2c], eax
mov edi, eax
test edi, edi
je 0x5742d9
push dword [esp + 0x4c]
push 0
push edi
call fcn.00621d30
mov ecx, dword [esp + 0x24]
lea eax, [edi + 0x48]
mov dword [edi + 0x20], eax
add esp, 0xc
add eax, dword [esp + 0x40]
xorps xmm0, xmm0
mov dword [edi + 8], eax
movlpd qword [esp + 0x60], xmm0
lea eax, [eax + ebp*2]
add eax, 2
mov dword [edi + 4], eax
lea eax, [eax + ebp*2]
mov ebp, dword [esp + 0x70]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov word [edi + 0x34], ax
movzx eax, cx
mov word [edi + 0x32], ax
mov eax, dword [esp + 0x30]
mov dword [eax + 0x20], edi
mov eax, dword [esp + 0x34]
mov dword [edi], str.auto_index
mov dword [edi + 0xc], eax
xor edi, edi
mov ebp, dword [ebp + 0x18]
cmp ebp, dword [esp + 0x44]
jae 0x573c9f
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
nop
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x40], esi
cmp eax, dword [edx + 0x2c]
jne 0x573c8a
test byte [ebp + 0xc], 0x82
je 0x573c8a
test byte [edx + 0x24], 0x58
je 0x573b9a
push edx
push ebp
call fcn.005735c0
add esp, 8
test eax, eax
je 0x573c8a
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
mov eax, dword [ebp + 0x24]
and ecx, dword [ebp + 0x20]
and eax, dword [esp + 0x78]
or ecx, eax
jne 0x573c8a
mov ecx, dword [ebp + 0x18]
test ecx, ecx
js 0x573c8a
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 8]
mov byte [esp + 0x58], al
push dword [esp + 0x58]
push dword [ebp]
call fcn.005b95b0
add esp, 8
test eax, eax
je 0x573c8a
mov ecx, dword [ebp + 0x18]
xor edx, edx
movzx eax, cx
mov dword [esp + 0x5c], eax
cmp ecx, 0x40
jl 0x573bfa
mov eax, SysReAllocString
jmp 0x573c0d
xor eax, eax
bts edx, ecx
cmp ecx, 0x20
cmovae eax, edx
xor edx, eax
cmp ecx, 0x40
cmovae eax, edx
mov esi, dword [esp + 0x40]
mov ecx, edx
and ecx, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
and eax, dword [esp + 0x3c]
or ecx, eax
jne 0x573c8a
mov eax, dword [esp + 0x3c]
or eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x2c]
mov ecx, dword [ebp]
or dword [esp + 0x24], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 4]
push ecx
push ebx
mov dword [esp + 0x68], ecx
mov word [eax + edi*2], dx
call fcn.005af870
add esp, 8
test eax, eax
je 0x573c5b
mov ecx, dword [eax]
jmp 0x573c60
mov ecx, str.BINARY
mov eax, dword [esi + 0x20]
mov dword [eax + edi*4], ecx
inc edi
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
mov esi, ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x573c8a
push eax
call fcn.005ac3d0
add esp, 4
cmp al, 0x42
je 0x573c8a
mov byte [esp + 0x13], 1
add ebp, 0x30
cmp ebp, dword [esp + 0x44]
jb 0x573b60
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x38]
xor ebp, ebp
cmp dword [esp + 0x24], ebp
jle 0x573cf2
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
nop
xor edx, edx
xor ecx, ecx
mov eax, ebp
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x28]
and ecx, dword [esp + 0x14]
or edx, ecx
je 0x573ce5
mov eax, dword [ebx + 4]
mov word [eax + edi*2], bp
mov eax, dword [ebx + 0x20]
mov dword [eax + edi*4], str.BINARY
inc edi
inc ebp
cmp ebp, esi
jl 0x573cb0
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x3c], 0
jg 0x573d3d
jl 0x573d04
cmp dword [eax + 0x38], 0
jae 0x573d3d
mov edx, dword [esp + 0x34]
mov eax, 0x3f
mov ebp, dword [esp + 0x2c]
cmp ax, word [edx + 0x22]
jge 0x573d41
mov ecx, eax
nop dword [eax]
mov eax, dword [ebp + 4]
mov word [eax + edi*2], cx
inc ecx
mov eax, dword [ebp + 0x20]
mov dword [eax + edi*4], str.BINARY
inc edi
movsx eax, word [edx + 0x22]
cmp ecx, eax
jl 0x573d20
jmp 0x573d41
mov ebp, dword [esp + 0x2c]
mov eax, dword [ebp + 4]
or ecx, 0xffffffff
mov edx, dword [esp + 0x18]
inc edx
mov word [eax + edi*2], cx
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x7c]
mov dword [eax + edi*4], str.BINARY
mov eax, dword [ebx + 0x28]
mov dword [ecx + 8], eax
inc dword [ebx + 0x28]
mov eax, dword [ecx + 8]
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0x60], eax
cmp dword [esi + 0x70], ecx
jg 0x573d87
push 0
push edx
push eax
push 0x74
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x573dba
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x60]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x74
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 8]
push ebp
push ebx
mov dword [esp + 0x68], eax
call fcn.005bbb40
mov edx, eax
add esp, 8
test edx, edx
je 0x573e0c
mov ebp, dword [esp + 0x60]
mov eax, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x573dfa
cmp dword [eax + 0x210], 0
jne 0x573e0c
add dword [edx], 0xffffffff
jne 0x573e0c
push edx
push dword [edx + 0xc]
call fcn.005a9e10
add esp, 8
jmp 0x573e0c
mov eax, dword [ebp + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [ebx]
test dword [eax + 0x50], 0x80000
jne 0x573e88
cmp byte [esp + 0x13], 0
je 0x573e88
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
push ebp
push dword [eax]
push ebx
call fcn.005e5fb0
mov edx, dword [ebx + 0x2c]
add esp, 0xc
inc edx
mov dword [ebx + 0x2c], edx
mov dword [ebp + 0x34], edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x573e59
push 0
push edx
push 0x2710
push 0x4d
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x573e88
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4d
mov dword [eax + ecx*4 + 4], 0x2710
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [esp + 0x20]
test byte [ebp + 0x28], 0x20
je 0x573f8b
mov ecx, dword [esi + 0x6c]
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x48], ecx
cmp dword [esi + 0x70], ecx
jg 0x573ec7
push 0
push 0
push 0
push 0x47
push esi
call fcn.005815b0
mov edx, dword [esp + 0x84]
add esp, 0x14
mov dword [esp + 0x48], eax
jmp 0x573efe
mov ebx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
mov ebp, dword [ebp + 0x18]
cmp dword [esi + 0x70], ecx
jg 0x573f21
push ebp
push 0
push edx
push 0xb
push esi
call fcn.005815b0
mov edx, dword [esp + 0x84]
add esp, 0x14
jmp 0x573f50
mov ebx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [esi + 0x6c]
cmp dword [esi + 0x70], ebp
jg 0x573f6c
push 0
push 0
push edx
push 0xc
push esi
call fcn.005815b0
add esp, 0x14
mov ebp, eax
jmp 0x573fe7
mov ebx, dword [esp + 0x6c]
lea eax, [ebp + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebp*4]
mov eax, dword [esi + 0x68]
add ecx, ebp
mov dword [eax + ecx*4], 0xc
jmp 0x573fcb
mov eax, dword [esp + 0x7c]
mov ebp, dword [esi + 0x6c]
mov edx, dword [eax + 4]
cmp dword [esi + 0x70], ebp
jg 0x573fae
push 0
push 0
push edx
push 0x24
push esi
call fcn.005815b0
add esp, 0x14
mov ebp, eax
jmp 0x573fe7
lea eax, [ebp + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebp*4]
mov eax, dword [esi + 0x68]
add ecx, ebp
mov esi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x574011
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
push 0x10
push ecx
push eax
push ebx
mov dword [esp + 0x60], ecx
call fcn.005afdc0
mov ecx, dword [esp + 0x40]
add esp, 0x10
or dword [ecx + 0x2c], 0x20000
mov al, byte [ebx + 0x13]
test al, al
jne 0x574020
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
jmp 0x57402f
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov eax, dword [ebx + eax*4 + 0xa4]
push 0
push 0
push 0
push 0
push eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x90]
push dword [eax + 4]
push dword [esp + 0x44]
push ebx
call fcn.005b76f0
mov edx, dword [esp + 0x9c]
add esp, 0x20
mov dword [esp + 0x44], eax
mov edx, dword [edx + 0x34]
test edx, edx
je 0x5740c7
mov ecx, dword [esp + 0x30]
movzx ecx, word [ecx + 0x18]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x574094
push dword [esp + 0x4c]
push eax
push 0
push edx
push 0xb7
push esi
call fcn.00567cb0
add esp, 0x18
jmp 0x5740c7
mov ebx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0xfdb7
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esi + 0x6c]
mov eax, dword [eax + 8]
mov dword [esp + 0x60], eax
cmp dword [esi + 0x70], ecx
jg 0x5740f2
mov edx, dword [esp + 0x70]
push 0
push edx
push eax
push 0x8a
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x574125
mov edx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x70]
mov dword [eax + ecx*4], 0x8a
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x57413c
lea ecx, [eax + eax*4]
mov edx, 0x10
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
cmp dword [esp + 0x1c], 0
je 0x57416a
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x50]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x574161
push edx
push esi
push ecx
call fcn.00598020
add esp, 0xc
jmp 0x57416a
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x20]
test byte [eax + 0x28], 0x20
je 0x57420e
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x574187
mov ecx, 0x6ecf90
jmp 0x574194
mov eax, dword [esp + 0x48]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x44]
add eax, edi
mov edi, dword [esp + 0x20]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x7c]
push dword [eax + 8]
push dword [edi + 0x20]
push dword [eax + 4]
push ebp
push ebx
call fcn.005ebb00
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x5741d9
push 0
push ebp
push 0
push 9
push esi
call fcn.005815b0
add esp, 0x14
and dword [edi + 0x28], 0xffffffdf
jmp 0x574277
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
and dword [edi + 0x28], 0xffffffdf
jmp 0x574277
mov eax, dword [esp + 0x7c]
lea edx, [ebp + 1]
mov ecx, dword [esi + 0x6c]
mov edi, dword [eax + 4]
cmp dword [esi + 0x70], ecx
jg 0x574231
push 0
push edx
push edi
push 0x27
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x574260
mov ebx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x574277
lea ecx, [eax + eax*4]
mov edx, 3
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x574289
mov eax, 0x6ecf90
jmp 0x574298
mov eax, dword [esi + 0x68]
lea ecx, [ebp*4]
add ecx, ebp
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], edx
test ecx, ecx
je 0x5742b7
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x5742b7
movzx eax, al
mov dword [ebx + eax*4 + 0xa4], ecx
inc byte [ebx + 0x13]
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x5742c9
mov eax, 0x6ecf90
jmp 0x5742d6
mov eax, dword [esp + 0x54]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
pop edi
pop ebp
test eax, eax
je 0x5742ee
push eax
push dword [ebx]
call fcn.005afab0
add esp, 8
pop esi
pop ebx
add esp, 0x58
ret