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

Disassembly:
sub esp, 0x5c
push ebp
mov ebp, dword [esp + 0x64]
xor eax, eax
push esi
mov byte [esp + 0xb], 0
mov byte [esp + 0x48], 0
mov esi, dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0x28], esi
mov dword [esp + 0x50], ecx
cmp dword [esi + 0x70], ecx
jg 0x467a08
push eax
push eax
push eax
push 0xf
push esi
call fcn.00475980
add esp, 0x14
mov dword [esp + 0x50], eax
jmp 0x467a3b
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
push ebx
mov ebx, dword [esp + 0x7c]
xorps xmm0, xmm0
push edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x1c], 0
movlpd qword [esp + 0x64], xmm0
mov eax, dword [edi]
mov edi, dword [edi + 0x18]
mov ecx, dword [eax + 4]
movzx eax, byte [ebx + 0x3c]
mov ebx, dword [ebx + 0x50]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], ebx
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [edx + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], edx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edi
mov dword [esp + 0x4c], eax
cmp edi, eax
jae 0x467d7f
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x28], eax
nop dword [eax]
test byte [edi + 0xa], 2
mov ebx, dword [edi]
jne 0x467c22
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + 0x3c]
push eax
push ecx
push ebx
call fcn.004a4a80
add esp, 0xc
test eax, eax
je 0x467c22
mov ecx, dword [ebp]
mov dword [esp + 0x48], ecx
test ebx, ebx
je 0x467afe
push 0
push 0
push ebx
push ecx
call fcn.0046d670
mov ecx, dword [ebp]
add esp, 0x10
mov ebx, eax
mov dword [esp + 0x48], ecx
jmp 0x467b00
xor ebx, ebx
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x467b11
mov dword [esp + 0x24], ebx
jmp 0x467c22
test ebx, ebx
je 0x467c22
mov eax, dword [edx + 4]
or eax, dword [ebx + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x467b76
cmp byte [ebp + 0xdc], 2
jae 0x467b76
push edx
push ebp
call fcn.004a3cf0
push ebx
push ebp
call fcn.004a3cf0
push 0
lea eax, [esp + 0x78]
mov dword [esp + 0x78], 0x546ad4
push eax
push 0x9b
push dword [esp + 0x64]
mov dword [esp + 0x88], 1
call fcn.004a05a0
add esp, 0x20
mov dword [esp + 0x24], eax
jmp 0x467c22
push 0
push 0x34
push ecx
call fcn.0049db10
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x467bff
push 0x34
push 0
push ebp
call fcn.004fd610
mov edx, dword [esp + 0x30]
or eax, 0xffffffff
mov word [ebp + 0x22], ax
add esp, 0xc
mov byte [ebp], 0x2c
mov dword [ebp + 0x10], ebx
mov ecx, dword [ebx + 4]
and ecx, 0x400208
or ecx, dword [ebp + 4]
mov dword [ebp + 4], ecx
mov eax, dword [ebx + 0x18]
inc eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0xc], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or eax, ecx
mov dword [ebp + 4], eax
mov eax, dword [edx + 0x18]
mov edx, dword [ebp + 0x18]
cmp eax, edx
jl 0x467bde
lea edx, [eax + 1]
mov dword [ebp + 0x18], edx
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
cmp edx, eax
jle 0x467c1e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.0049fe60
add esp, 0xc
jmp 0x467c1e
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.004a3d70
mov eax, dword [esp + 0x78]
push ebx
push dword [eax]
call fcn.004a3d70
add esp, 0x10
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x18]
mov ebx, dword [ebp + 0x34]
cmp dword [edi + 0x14], ebx
jne 0x467d5c
test byte [edi + 0xc], 0x82
je 0x467d5c
mov cl, byte [ebp + 0x2c]
test cl, 0x58
je 0x467c69
mov eax, dword [edi]
mov edx, dword [eax + 4]
test dl, 3
je 0x467d5c
cmp dword [eax + 0x24], ebx
jne 0x467d5c
test cl, 0x18
je 0x467c69
test dl, 2
jne 0x467d5c
mov ecx, dword [esp + 0x78]
mov eax, dword [edi + 0x24]
and ecx, dword [edi + 0x20]
and eax, dword [esp + 0x7c]
or ecx, eax
jne 0x467d5c
mov ecx, dword [edi + 0x18]
test ecx, ecx
js 0x467d5c
mov eax, dword [ebp + 0x18]
add ecx, ecx
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 8]
mov byte [esp + 0x44], al
push dword [esp + 0x44]
push dword [edi]
call fcn.004adc50
add esp, 8
test eax, eax
je 0x467d5c
mov ecx, dword [edi + 0x18]
xor ebx, ebx
cmp ecx, 0x40
jl 0x467cc1
mov ebp, 0x80000000
jmp 0x467cd6
mov eax, ecx
xor ebp, ebp
bts ebx, eax
cmp eax, 0x20
cmovae ebp, ebx
xor ebx, ebp
cmp eax, 0x40
cmovae ebp, ebx
cmp byte [esp + 0x13], 0
jne 0x467d02
mov edx, dword [esp + 0x40]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.0045a560
add esp, 0x10
mov byte [esp + 0x13], 1
mov ecx, ebx
mov eax, ebp
and ecx, dword [esp + 0x28]
and eax, dword [esp + 0x14]
or ecx, eax
jne 0x467d5c
mov eax, dword [esp + 0x1c]
inc eax
push eax
push dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x78]
push dword [eax]
call fcn.004ee580
add esp, 0xc
test eax, eax
jne 0x4686e6
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
or dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x14]
mov eax, dword [eax + 0x38]
or ebx, ebp
mov dword [esp + 0x14], ebx
mov dword [eax + ecx*4], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
jmp 0x467d60
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x70]
add edi, 0x30
mov ecx, dword [esp + 0x3c]
cmp edi, dword [esp + 0x4c]
jb 0x467ab0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
jmp 0x467d87
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
movzx eax, di
mov word [esi + 0x30], ax
mov word [esi + 0x18], ax
mov eax, esi
mov dword [eax + 0x2c], 0x4241
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x2b], 2
jne 0x467dbf
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x14], 0xffffffff
jmp 0x467dd7
not ebx
not ecx
and ecx, dword [edx + 0x40]
or ebx, 0x80000000
and ebx, dword [edx + 0x44]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], ebx
movzx ebx, word [eax + 0x22]
mov ecx, 0x3f
mov esi, dword [esp + 0x30]
mov dword [esp + 0x48], ebx
movzx eax, bx
cmp cx, bx
jge 0x467df6
mov dword [esp + 0x3c], ecx
jmp 0x467e04
movsx ecx, bx
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp cx, ax
jge 0x467e4a
mov esi, dword [esp + 0x3c]
xor edi, edi
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
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, ebp
or edx, ecx
je 0x467e35
inc dword [esp + 0x1c]
inc edi
cmp edi, esi
jl 0x467e12
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x70]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x44], 0
jg 0x467e68
jl 0x467e5c
cmp dword [eax + 0x40], 0
jae 0x467e68
movsx eax, bx
add edi, 0xffffffc1
add edi, eax
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp]
movzx eax, di
inc eax
movzx eax, ax
movsx edi, ax
mov dword [esp + 0x38], eax
lea edx, [edi*4 + 7]
and edx, 0xfffffff8
lea eax, [edi*4 + 9]
add eax, edi
mov dword [esp + 0x44], edx
and eax, 0xfffffff8
add edx, 0x48
add eax, edx
mov dword [esp + 0x48], eax
cdq
push edx
push eax
test ecx, ecx
je 0x467eb4
push ecx
call fcn.0049db10
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x20], ebx
jmp 0x467ec2
call fcn.004b17f0
add esp, 8
mov dword [esp + 0x20], eax
mov ebx, eax
test ebx, ebx
je 0x4686ea
push dword [esp + 0x48]
push 0
push ebx
call fcn.004fd610
mov ecx, dword [esp + 0x28]
lea eax, [ebx + 0x48]
mov dword [ebx + 0x20], eax
add esp, 0xc
add eax, dword [esp + 0x44]
xorps xmm0, xmm0
mov dword [ebx + 8], eax
movlpd qword [esp + 0x64], xmm0
lea eax, [eax + edi*2]
add eax, 2
mov dword [ebx + 4], eax
lea eax, [eax + edi*2]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x38]
mov word [ebx + 0x34], ax
movzx eax, cx
mov word [ebx + 0x32], ax
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x20], ebx
mov eax, dword [esp + 0x40]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [ebx], str.auto_index
xor ebx, ebx
mov edi, dword [eax + 0x18]
cmp edi, dword [esp + 0x4c]
jae 0x4680af
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], eax
nop dword [eax + eax]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x34]
cmp dword [edi + 0x14], eax
jne 0x46809a
test byte [edi + 0xc], 0x82
je 0x46809a
mov cl, byte [edx + 0x2c]
test cl, 0x58
je 0x467faa
mov eax, dword [edi]
mov edx, dword [eax + 4]
test dl, 3
je 0x46809a
mov ebp, dword [esp + 0x18]
mov esi, dword [ebp + 0x34]
mov ebp, dword [esp + 0x70]
cmp dword [eax + 0x24], esi
jne 0x46809a
test cl, 0x18
je 0x467fa2
test dl, 2
jne 0x46809a
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
mov eax, dword [edi + 0x24]
and ecx, dword [edi + 0x20]
and eax, dword [esp + 0x7c]
or ecx, eax
jne 0x46809a
mov ecx, dword [edi + 0x18]
test ecx, ecx
js 0x46809a
mov eax, dword [edx + 0x18]
add ecx, ecx
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 8]
mov byte [esp + 0x5c], al
push dword [esp + 0x5c]
push dword [edi]
call fcn.004adc50
add esp, 8
test eax, eax
je 0x46809a
mov eax, dword [edi + 0x18]
xor edx, edx
movzx ecx, ax
mov dword [esp + 0x60], ecx
cmp eax, 0x40
jl 0x46800d
mov eax, 0x80000000
mov dword [esp + 0x48], eax
jmp 0x468026
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
mov dword [esp + 0x48], ecx
mov eax, ecx
mov ecx, edx
and eax, esi
and ecx, dword [esp + 0x44]
or ecx, eax
jne 0x46809a
or esi, dword [esp + 0x48]
mov ecx, dword [edi]
or dword [esp + 0x44], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x20]
push ecx
push ebp
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 4]
mov word [eax + ebx*2], dx
call fcn.004a3af0
add esp, 8
test eax, eax
je 0x468065
mov ecx, dword [eax]
jmp 0x46806a
mov ecx, 0x52e74c
mov eax, dword [esi + 0x20]
mov dword [eax + ebx*4], ecx
inc ebx
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x46809a
push eax
call fcn.004a04d0
mov ecx, dword [esp + 0x54]
add esp, 4
cmp al, 0x42
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x50], ecx
mov esi, dword [esp + 0x38]
add edi, 0x30
cmp edi, dword [esp + 0x4c]
jb 0x467f50
mov esi, dword [esp + 0x30]
xor edi, edi
cmp dword [esp + 0x3c], edi
jle 0x468102
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x3c]
nop
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, dword [esp + 0x28]
and ecx, dword [esp + 0x14]
or edx, ecx
je 0x4680f5
mov eax, dword [esi + 4]
mov word [eax + ebx*2], di
mov eax, dword [esi + 0x20]
mov dword [eax + ebx*4], 0x52e74c
inc ebx
inc edi
cmp edi, ebp
jl 0x4680c0
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x44], 0
jg 0x46814d
jl 0x468114
cmp dword [eax + 0x40], 0
jae 0x46814d
mov edi, dword [esp + 0x40]
mov eax, 0x3f
mov edx, dword [esp + 0x20]
cmp ax, word [edi + 0x22]
jge 0x468151
mov ecx, eax
nop dword [eax]
mov eax, dword [edx + 4]
mov word [eax + ebx*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + ebx*4], 0x52e74c
inc ebx
movsx eax, word [edi + 0x22]
cmp ecx, eax
jl 0x468130
jmp 0x468151
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov word [eax + ebx*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x1c]
inc edx
mov dword [eax + ebx*4], 0x52e74c
mov eax, dword [ebp + 0x28]
mov dword [ecx + 8], eax
inc dword [ebp + 0x28]
mov edi, dword [ecx + 8]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x468196
push 0
push edx
push edi
push 0x74
push esi
call fcn.00475980
add esp, 0x14
jmp 0x4681c5
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x74
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
push dword [esp + 0x20]
mov edi, dword [ebp + 8]
push ebp
call fcn.004b0220
mov edx, eax
add esp, 8
test edx, edx
je 0x468211
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4681ff
cmp dword [eax + 0x210], 0
jne 0x468211
add dword [edx], 0xffffffff
jne 0x468211
push edx
push dword [edx + 0xc]
call fcn.0049dc30
add esp, 8
jmp 0x468211
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [ebp]
test dword [eax + 0x50], 0x80000
jne 0x468290
cmp byte [esp + 0x50], 0
je 0x468290
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x80]
push edi
push dword [eax]
push ebp
call fcn.004da620
inc dword [ebp + 0x2c]
add esp, 0xc
mov edx, dword [ebp + 0x2c]
mov dword [edi + 0x34], edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x468261
push 0
push edx
push 0x2710
push 0x4d
push esi
call fcn.00475980
add esp, 0x14
jmp 0x468290
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 edi, dword [esp + 0x18]
test byte [edi + 0x30], 0x20
je 0x46838d
mov ecx, dword [esi + 0x6c]
mov edx, dword [edi + 0x24]
mov dword [esp + 0x74], edx
mov dword [esp + 0x54], ecx
cmp dword [esi + 0x70], ecx
jg 0x4682cf
push 0
push 0
push 0
push 0x47
push esi
call fcn.00475980
mov edx, dword [esp + 0x88]
add esp, 0x14
mov dword [esp + 0x54], eax
jmp 0x468306
mov ebp, dword [esp + 0x70]
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 edi, dword [edi + 0x20]
cmp dword [esi + 0x70], ecx
jg 0x468329
push edi
push 0
push edx
push 0xb
push esi
call fcn.00475980
mov edx, dword [esp + 0x88]
add esp, 0x14
jmp 0x468358
mov ebp, dword [esp + 0x70]
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], edi
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x468374
push 0
push 0
push edx
push 0xc
push esi
call fcn.00475980
add esp, 0x14
mov edi, eax
jmp 0x4683e6
mov ebp, dword [esp + 0x70]
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xc
jmp 0x4683ca
mov eax, dword [esp + 0x80]
mov edi, dword [esi + 0x6c]
mov edx, dword [eax + 4]
cmp dword [esi + 0x70], edi
jg 0x4683b3
push 0
push 0
push edx
push 0x24
push esi
call fcn.00475980
add esp, 0x14
mov edi, eax
jmp 0x4683e6
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x30]
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 + 0x24]
test eax, eax
je 0x468410
dec dword [ebp + 0x38]
mov ecx, dword [ebp + 0x38]
push 0x10
push ecx
push eax
push ebp
mov dword [esp + 0x44], ecx
call fcn.004a4050
mov eax, dword [esp + 0x3c]
add esp, 0x10
or dword [eax + 0x2c], 0x20000
mov al, byte [ebp + 0x13]
test al, al
jne 0x46841f
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
jmp 0x46842e
dec al
mov byte [ebp + 0x13], al
movzx eax, al
mov eax, dword [ebp + eax*4 + 0xa4]
push 0
push 0
push 0
push 0
push eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x94]
push dword [eax + 4]
push dword [esp + 0x38]
push ebp
call fcn.004abd70
mov edx, dword [esp + 0xa0]
add esp, 0x20
mov dword [esp + 0x50], eax
mov edx, dword [edx + 0x34]
test edx, edx
je 0x4684c6
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x6c]
movzx eax, word [eax + 0x18]
mov dword [esp + 0x64], eax
cmp dword [esi + 0x70], ecx
jg 0x468493
push eax
push dword [esp + 0x54]
push 0
push edx
push 0xb7
push esi
call fcn.0045bf40
add esp, 0x18
jmp 0x4684c6
mov ebp, dword [esp + 0x70]
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 + 0x50]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x64]
mov dword [eax + ecx*4], 0xfdb7
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [esp + 0x80]
mov ecx, dword [esi + 0x6c]
mov eax, dword [edx + 8]
mov dword [esp + 0x64], eax
cmp dword [esi + 0x70], ecx
jg 0x4684f4
mov edx, dword [esp + 0x74]
push 0
push edx
push eax
push 0x8a
push esi
call fcn.00475980
add esp, 0x14
jmp 0x468527
mov edx, dword [esp + 0x64]
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 + 0x74]
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 ecx, dword [esi + 0x6c]
test ecx, ecx
jle 0x468541
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov edx, 0x10
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0x6c]
cmp dword [esp + 0x24], 0
je 0x468571
mov edx, dword [esi + 0xc]
not dword [esp + 0x34]
mov eax, dword [edx + 0x3c]
add eax, dword [edx + 0x38]
jns 0x468567
push dword [esp + 0x34]
push esi
push edx
call fcn.0048b850
add esp, 0xc
jmp 0x468571
mov eax, dword [edx + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0x18]
test byte [eax + 0x30], 0x20
je 0x468618
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x46858e
mov ecx, 0x5751d0
jmp 0x46859b
mov eax, dword [esp + 0x54]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x50]
add eax, ebx
mov ebx, dword [esp + 0x18]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x80]
push dword [eax + 8]
push dword [ebx + 0x28]
push dword [eax + 4]
push edi
push ebp
call fcn.004dffe0
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x4685e3
push 0
push edi
push 0
push 9
push esi
call fcn.00475980
add esp, 0x14
and dword [ebx + 0x30], 0xffffffdf
jmp 0x468684
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], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
and dword [ebx + 0x30], 0xffffffdf
jmp 0x468684
mov eax, dword [esp + 0x80]
lea edx, [edi + 1]
mov ecx, dword [esi + 0x6c]
mov ebx, dword [eax + 4]
cmp dword [esi + 0x70], ecx
jg 0x46863e
push 0
push edx
push ebx
push 0x27
push esi
call fcn.00475980
add esp, 0x14
jmp 0x46866d
mov ebp, dword [esp + 0x70]
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], ebx
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 0x468684
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 0x468696
mov eax, 0x5751d0
jmp 0x46869f
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], edx
test ecx, ecx
je 0x4686be
mov al, byte [ebp + 0x13]
cmp al, 8
jae 0x4686be
movzx eax, al
mov dword [ebp + eax*4 + 0xa4], ecx
inc byte [ebp + 0x13]
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x4686d3
mov eax, 0x5751d0
mov dword [eax + 8], edx
jmp 0x4686ea
mov eax, dword [esp + 0x58]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4686ea
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x24]
pop edi
pop ebx
test eax, eax
je 0x468700
push eax
push dword [ebp]
call fcn.004a3d70
add esp, 8
pop esi
pop ebp
add esp, 0x5c
ret