Function at 0x1007cd00
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc8
push ebp
mov ebp, dword [esp + 0xd0]
push esi
mov esi, dword [ebp]
push edi
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x18], 1
mov dword [esp + 0x24], esi
test edi, edi
je 0x1007cd4c
cmp byte [esi + 0x1e], 0
jne 0x1007cd4c
cmp dword [ebp + 0x40], 0
jne 0x1007cd4c
push 0
push 0
push 0
push 0x15
mov eax, ebp
call fcn.1004ae20
add esp, 0x10
test eax, eax
je 0x1007cd5b
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xc8
ret
push ebx
push 0x2c
lea eax, [esp + 0x70]
push 0
push eax
call fcn.100ae530
mov ecx, dword [esp + 0xf0]
add esp, 0xc
cmp byte [ecx], 4
ja 0x1007cd91
mov ebx, dword [edi + 0x18]
call fcn.1003c850
mov edx, 0xfffe
and word [edi + 6], dx
mov dword [edi + 0x18], 0
push 0
push edi
push ebp
call fcn.1007cc70
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 8]
add esp, 0xc
cmp dword [ebp + 0x40], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
jne 0x1007e0a2
mov edx, esi
cmp byte [edx + 0x1e], 0
jne 0x1007e0a2
mov eax, edi
movzx eax, word [eax + 6]
shr eax, 2
and eax, 1
mov edi, ebp
mov dword [esp + 0x18], eax
call fcn.1004d6d0
mov ebp, eax
test ebp, ebp
je 0x1007e0a2
mov edi, dword [esp + 0xe0]
mov ebx, dword [esp + 0xdc]
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [edi + 0x1c], eax
jne 0x1007cf25
mov edx, dword [esp + 0x3c]
movsx ecx, word [edx]
cmp eax, ecx
jge 0x1007cf25
lea ecx, [eax*8]
sub ecx, eax
lea eax, [edx + ecx*8 + 8]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x34], eax
mov dword [esp + 0x48], ecx
test ecx, ecx
je 0x1007cf12
cmp byte [eax + 0x14], 0
jne 0x1007cf12
mov ecx, edi
call fcn.1003c760
add dword [ebx + 0x210], eax
mov edx, dword [esp + 0x48]
movzx esi, word [edx + 6]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
shr esi, 2
and esi, 1
push esi
push eax
push ecx
push edi
push ebx
call fcn.10054da0
add esp, 0x14
test eax, eax
je 0x1007ce87
test esi, esi
je 0x1007ce7d
or word [edi + 6], 4
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], 0xffffffff
jmp 0x1007cecf
mov esi, dword [esp + 0x34]
mov eax, dword [esi + 0x18]
mov dword [esp + 0xcc], eax
xor eax, eax
lea edx, [esp + 0xc8]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x48]
push edx
push eax
push ebx
mov byte [esp + 0xd4], 9
mov byte [esp + 0xd5], 0
call fcn.1007cd00
add esp, 0xc
mov byte [esi + 0x14], 1
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x1e], 0
jne 0x1007e0a2
mov edi, dword [esp + 0xe0]
mov ecx, edi
call fcn.1003c760
mov ebx, dword [esp + 0xdc]
sub dword [ebx + 0x210], eax
mov eax, dword [esp + 0xe4]
cmp byte [eax], 4
mov edx, dword [edi + 8]
mov dword [esp + 0x3c], edx
jbe 0x1007cf12
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x10]
inc eax
cmp dword [edi + 0x1c], 0
mov dword [esp + 0x10], eax
je 0x1007ce03
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
mov ecx, dword [edi]
mov dword [esp + 0x14], eax
movzx eax, word [edi + 6]
mov dword [esp + 0x44], edx
mov edx, dword [edi + 0x14]
and eax, 1
cmp dword [edi + 0x1c], 0
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x20], eax
je 0x1007cfbb
cmp dword [edi + 0x24], 0
jne 0x1007cf9e
xor ecx, ecx
xor edx, edx
mov eax, edi
lea ecx, [ecx]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edi
mov ecx, eax
mov eax, dword [eax + 0x1c]
inc edx
test eax, eax
jne 0x1007cf60
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x1007cf9e
cmp edx, eax
jle 0x1007cf9e
push str.too_many_terms_in_compound_SELECT
mov esi, ebx
call fcn.10048140
add esp, 4
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xc8
ret
mov ecx, dword [esp + 0xe4]
push ecx
push edi
push ebx
call fcn.1006de30
add esp, 0xc
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc8
ret
mov edx, dword [ecx]
mov eax, dword [esp + 0xe4]
push edx
mov esi, ebx
call fcn.1004cd90
add esp, 4
test eax, eax
jne 0x1007e0a2
mov edi, dword [esp + 0xe0]
mov al, byte [edi + 6]
and al, 5
cmp al, 1
jne 0x1007d011
mov ecx, dword [edi]
mov edx, dword [esp + 0x28]
push 0
push ecx
push edx
call fcn.10044420
mov dword [edi + 0x10], eax
mov dword [esp + 0x20], eax
mov eax, 0xfffe
add esp, 0xc
and word [edi + 6], ax
mov dword [esp + 0x20], 0
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0xdc]
test esi, esi
je 0x1007d05b
push esi
push ebx
call fcn.10066880
mov ecx, dword [ebx + 0x44]
mov dword [esi + 8], ecx
inc dword [ebx + 0x44]
mov ecx, dword [esi]
mov edx, dword [esi + 8]
push 0xfffffffffffffff0
push eax
add ecx, 2
push 0x28
xor eax, eax
mov edi, ebp
call fcn.100495e0
mov edx, dword [esp + 0xf4]
add esp, 0x14
mov dword [esp + 0x2c], eax
mov dword [edx + 0x40], eax
mov edi, edx
jmp 0x1007d063
mov dword [esp + 0x2c], 0xffffffff
mov eax, dword [esp + 0xe4]
cmp byte [eax], 9
jne 0x1007d086
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
mov eax, dword [eax + 4]
push edx
push eax
push 0x28
mov eax, ebp
call fcn.10043700
add esp, 0xc
mov eax, ebp
call fcn.10043760
push eax
mov dword [esp + 0xa4], eax
push edi
mov eax, ebx
call fcn.1004d700
add esp, 8
cmp dword [esp + 0x20], 0
je 0x1007d170
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x68], eax
inc eax
mov dword [ebx + 0x44], eax
mov ecx, dword [edi]
push ecx
push ebx
call fcn.10066880
mov esi, dword [ebp + 0xc]
add esp, 8
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x30], eax
jg 0x1007d0e0
mov edi, ebp
call fcn.10043580
test eax, eax
je 0x1007d0e0
mov esi, 1
jmp 0x1007d10b
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x68]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax], 0x28
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x6e], cl
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp]
mov eax, esi
test ecx, ecx
je 0x1007d160
cmp byte [edi + 0x1e], 0
jne 0x1007d160
test esi, esi
jge 0x1007d125
mov eax, dword [ebp + 0xc]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.10043980
cmp dword [esp + 0x30], 0
mov dword [esi + 0x10], 0
jne 0x1007d153
mov dword [esi + 0x10], 0
mov byte [esi + 1], 0
jmp 0x1007d178
mov eax, dword [esp + 0x30]
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x1007d178
mov ecx, dword [esp + 0x30]
mov eax, 0xfffffff0
call fcn.10043980
jmp 0x1007d178
mov dword [esp + 0x68], 0xffffffff
cmp dword [esp + 0x18], 0
mov esi, dword [esp + 0x14]
jne 0x1007d219
test esi, esi
jne 0x1007d21d
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
push esi
lea ecx, [esp + 0x3c]
push ecx
push edx
push eax
push ebx
call fcn.10077a20
mov esi, eax
add esp, 0x14
test esi, esi
je 0x1007e0a2
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
test ecx, ecx
jl 0x1007d1da
test edi, edi
jne 0x1007d1da
lea eax, [edi + 1]
mov edx, ebp
call fcn.10043ad0
mov ecx, dword [esp + 0xe0]
mov dword [ecx + 0x40], 0xffffffff
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0xe4]
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0xe8]
push ecx
mov ecx, dword [esp + 0xe8]
push 0xffffffffffffffff
push edi
push 0
push 0
push edx
push eax
push ecx
call fcn.10054810
push esi
call fcn.10046750
add esp, 0x2c
jmp 0x1007e029
test esi, esi
je 0x1007d25d
mov edx, dword [esp + 0xe0]
mov ecx, dword [edx]
mov eax, dword [ecx]
mov ecx, dword [ecx + 0xc]
test eax, eax
jle 0x1007d23f
add ecx, 0x10
xor edx, edx
mov word [ecx], dx
dec eax
add ecx, 0x14
test eax, eax
jg 0x1007d232
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
test eax, eax
jle 0x1007d25d
add ecx, 0x10
jmp 0x1007d250
xor edx, edx
mov word [ecx], dx
dec eax
add ecx, 0x14
test eax, eax
jg 0x1007d250
mov eax, ebp
call fcn.10043760
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x6c]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xc0], ecx
test esi, esi
je 0x1007d2d3
mov edx, dword [esi]
inc edx
mov dword [esp + 0x78], edx
jmp 0x1007d2db
mov dword [esp + 0x78], 0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x5c]
lea eax, [esp + 0xa4]
push eax
mov dword [esp + 0x78], esi
call fcn.100516a0
mov ebx, dword [esp + 0x3c]
lea ecx, [esp + 0xa8]
push ecx
call fcn.100516a0
mov ecx, dword [esp + 0x50]
add esp, 8
test ecx, ecx
je 0x1007d31c
lea eax, [esp + 0xa4]
call fcn.10051670
mov edx, dword [esp + 0x80]
xor edi, edi
cmp dword [esp + 0x90], edi
mov dword [esp + 0x88], edx
jle 0x1007d36e
xor esi, esi
jmp 0x1007d340
mov eax, dword [esp + 0x8c]
mov ecx, dword [esi + eax]
mov ebx, dword [ecx + 0x10]
lea edx, [esp + 0xa4]
push edx
call fcn.100516a0
inc edi
add esp, 4
add esi, 0x10
cmp edi, dword [esp + 0x90]
jl 0x1007d340
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x1e], 0
jne 0x1007e0a2
test esi, esi
je 0x1007dd92
mov ebx, dword [esp + 0xdc]
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x70], eax
inc eax
push esi
push ebx
mov dword [ebx + 0x44], eax
call fcn.10066880
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
add esp, 8
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], edx
jg 0x1007d3d1
mov edi, ebp
call fcn.10043580
test eax, eax
je 0x1007d3d1
mov esi, 1
jmp 0x1007d400
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x34]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 0x28
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x6e], cl
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp]
mov dword [esp + 0x4c], esi
mov eax, esi
test ecx, ecx
je 0x1007d44f
cmp byte [edi + 0x1e], 0
jne 0x1007d44f
test esi, esi
jge 0x1007d41e
mov eax, dword [ebp + 0xc]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.10043980
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov dword [esi + 0x10], ecx
cmp eax, ecx
jne 0x1007d446
mov dword [esi + 0x10], ecx
mov byte [esi + 1], cl
jmp 0x1007d45d
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x1007d45d
mov ecx, dword [esp + 0x58]
mov eax, 0xfffffff0
call fcn.10043980
mov eax, dword [ebx + 0x48]
inc eax
lea edi, [eax + 1]
mov esi, eax
lea eax, [edi + 1]
mov dword [esp + 0x18], eax
mov dword [ebx + 0x48], eax
mov eax, ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x40], edi
call fcn.10043760
inc dword [ebx + 0x48]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x20], eax
mov eax, ebp
call fcn.10043760
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x48]
lea ecx, [eax + 1]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
add eax, edx
mov dword [ebx + 0x48], eax
mov ecx, dword [ecx]
push edi
lea edx, [eax + 1]
add ecx, eax
push 0
push 7
mov eax, ebp
mov dword [esp + 0x70], edx
mov dword [ebx + 0x48], ecx
call fcn.10043700
push esi
push 0
push 7
mov eax, ebp
call fcn.10043700
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
push edx
push eax
push 2
mov eax, ebp
call fcn.10043700
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
push 0
lea ecx, [esp + 0x3c]
push ecx
push edx
push eax
push ebx
call fcn.10077a20
add esp, 0x38
mov dword [esp + 0x98], eax
test eax, eax
je 0x1007e0a2
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x1007d531
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x44], eax
jmp 0x1007d785
mov edi, dword [eax]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x10], edi
inc edi
mov dword [esp + 0x44], 1
mov eax, edi
mov dword [esp + 0x50], edi
mov edx, edi
test esi, esi
jle 0x1007d572
mov ecx, dword [esp + 0x7c]
add ecx, 0xc
lea ebx, [ebx]
cmp dword [ecx], edx
jl 0x1007d566
inc eax
inc edx
add ecx, 0x18
sub esi, 1
jne 0x1007d560
mov dword [esp + 0x50], eax
push eax
call fcn.1003cfb0
mov esi, eax
mov edx, ebx
mov dword [esp + 0x20], esi
call fcn.1003cd70
mov eax, dword [esp + 0x18]
push 0
push esi
push ebx
call fcn.10051250
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
add esi, eax
push esi
push ecx
push 0x34
mov eax, ebp
call fcn.10043700
add esp, 0x1c
cmp dword [esp + 0x80], 0
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], 0
jle 0x1007d626
mov edx, dword [esp + 0x1c]
mov eax, edi
lea esi, [edx + eax]
mov eax, dword [esp + 0x7c]
xor edi, edi
mov ecx, dword [esp + 0x24]
cmp dword [edi + eax + 0xc], ecx
jl 0x1007d611
mov edx, dword [edi + eax + 4]
mov ecx, dword [edi + eax + 8]
push esi
push edx
mov edx, dword [edi + eax]
push ecx
push edx
push ebx
xor eax, eax
call fcn.1006aef0
add esp, 0x14
cmp esi, eax
je 0x1007d608
push esi
push eax
push 0xf
mov eax, ebp
call fcn.10043700
add esp, 0xc
inc dword [esp + 0x24]
mov eax, dword [esp + 0x7c]
inc esi
mov ecx, dword [esp + 0x10]
inc ecx
add edi, 0x18
cmp ecx, dword [esp + 0x80]
mov dword [esp + 0x10], ecx
jl 0x1007d5d2
mov al, byte [ebx + 0x15]
test al, al
jne 0x1007d635
inc dword [ebx + 0x48]
mov esi, dword [ebx + 0x48]
jmp 0x1007d641
dec al
mov byte [ebx + 0x15], al
movzx eax, al
mov esi, dword [ebx + eax*4 + 0x18]
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x10], eax
jg 0x1007d65c
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007d68f
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
mov byte [eax], 0x1e
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov byte [ebp + 0x6e], 0
mov eax, dword [esp + 0x70]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x10], eax
jg 0x1007d6b2
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007d6dd
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax], 0x43
mov byte [eax + 3], 0
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x6e], cl
test esi, esi
je 0x1007d70c
mov dl, byte [ebx + 0x15]
cmp dl, 8
jae 0x1007d70c
xor eax, eax
lea ecx, [ebx + 0x60]
mov edi, edi
cmp dword [ecx + 0x10], esi
je 0x1007d817
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x1007d6f0
movzx edx, dl
mov dword [ebx + edx*4 + 0x18], esi
inc byte [ebx + 0x15]
mov eax, dword [esp + 0x50]
cmp eax, dword [ebx + 0x38]
jle 0x1007d71f
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x3c], eax
mov ecx, dword [esp + 0x98]
push ecx
call fcn.10046750
mov esi, dword [ebp + 0xc]
mov edx, dword [esp + 0x74]
add esp, 4
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x1c], edx
jg 0x1007d74a
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007d779
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 0x3f
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x6e], cl
mov edx, ebx
mov byte [esp + 0x6d], 1
call fcn.1003cd70
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x54], edx
mov edx, ebx
call fcn.1003cd70
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
mov dword [esp + 0x24], 0
jle 0x1007d872
mov esi, dword [esp + 0x64]
mov dword [esp + 0x1c], 0
cmp dword [esp + 0x44], 0
je 0x1007d820
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x50], eax
jg 0x1007d7e2
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007d857
mov eax, dword [esp + 0x50]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x24]
mov byte [eax], 0x1c
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov byte [ebp + 0x6e], 0
jmp 0x1007d857
mov byte [ecx + 9], 1
jmp 0x1007d70c
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x6c], 1
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + ecx]
push esi
push eax
push ebx
call fcn.1006b050
add esp, 0xc
cmp eax, esi
je 0x1007d857
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x1007d857
push esi
push eax
push 0xf
mov eax, ecx
call fcn.10043700
add esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
add dword [esp + 0x1c], 0x14
inc eax
inc esi
cmp eax, dword [ecx]
mov dword [esp + 0x24], eax
jl 0x1007d7b4
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov edx, dword [esp + 0x14]
mov ebx, dword [edx]
jg 0x1007d894
mov edi, ebp
call fcn.10043580
test eax, eax
je 0x1007d894
mov eax, 1
xor ebx, ebx
jmp 0x1007d8c8
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x9c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xc], ebx
xor ebx, ebx
mov byte [eax], 0x18
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, esi
mov edx, dword [esp + 0x58]
push edx
push ebp
mov ecx, 0xfffffffa
call fcn.10043b20
mov esi, dword [ebp + 0xc]
add esp, 8
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x58], esi
jg 0x1007d8f2
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007d91c
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
lea ecx, [esi + 1]
mov byte [eax], 0x19
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [ebp + 0x6e], 0
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0xdc]
push eax
call fcn.10044710
mov esi, dword [ebp + 0xc]
add esp, 4
cmp dword [ebp + 0x10], esi
jg 0x1007d950
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007d980
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x60]
xor ebx, ebx
mov byte [eax], 2
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x1007d982
xor ebx, ebx
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1007d995
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007d9c1
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x30]
mov byte [eax], 0x70
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1007d9d4
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007da00
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov byte [eax], 2
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jle 0x1007da15
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [esp + 0xdc]
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.10068300
mov esi, dword [ebp + 0xc]
add esp, 8
cmp dword [ebp + 0x10], esi
jg 0x1007da3d
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007da6a
mov eax, dword [ebp + 0x14]
mov ecx, 1
add dword [ebp + 0xc], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
cmp dword [esp + 0x44], ebx
je 0x1007dab9
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov edx, dword [esp + 0x70]
mov dword [esp + 0x4c], edx
jg 0x1007da8b
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007dafb
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x4c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x54]
mov byte [eax], 0x42
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x1007dafb
mov edx, dword [esp + 0x98]
push edx
call fcn.10046750
mov esi, dword [ebp + 0x14]
add esp, 4
cmp esi, ebx
je 0x1007dafb
mov eax, dword [esp + 0x4c]
mov edi, dword [ebp]
lea eax, [eax + eax*4]
mov ecx, dword [esi + eax*4 + 0x10]
lea esi, [esi + eax*4]
movsx eax, byte [esi + 1]
call fcn.10043980
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov byte [esi], 0x85
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1007db0e
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007db3a
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x60]
mov byte [eax], 2
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1007db4d
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007db75
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x30]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x4c], esi
jg 0x1007db8c
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007dbb9
mov edx, dword [ebp + 0x14]
mov ecx, 1
add dword [ebp + 0xc], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x40]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1007dbcc
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007dbf4
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 3
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x1007dc0d
mov edx, dword [esp + 0x60]
lea ecx, [edx*4 + 4]
mov edx, dword [ebp + 0xc]
sub eax, ecx
mov dword [eax], edx
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1007dc20
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007dc4b
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x34]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
lea ecx, [esi + 2]
mov byte [eax], 0x70
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x54], eax
jg 0x1007dc66
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007dc8e
mov eax, dword [esp + 0x54]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
mov byte [eax], 3
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0xdc]
lea edx, [esp + 0x6c]
push edx
call fcn.1004dc70
mov eax, dword [esp + 0x4c]
push 8
lea edi, [esi + 1]
mov esi, dword [esp + 0xe4]
push edi
push eax
push esi
call fcn.10064220
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x50]
push edi
push edx
push eax
mov eax, dword [esp + 0x104]
mov edx, dword [eax]
push ecx
push ebx
push ebx
push edx
push eax
push esi
call fcn.10054810
mov esi, dword [ebp + 0xc]
add esp, 0x3c
cmp dword [ebp + 0x10], esi
jg 0x1007dcf8
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007dd20
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 3
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x1007dd39
mov ecx, dword [esp + 0x2c]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebp + 0xc]
sub eax, edx
mov dword [eax], ecx
mov eax, dword [esp + 0xdc]
lea edx, [esp + 0x6c]
push edx
push eax
call fcn.10068100
mov esi, dword [ebp + 0xc]
add esp, 8
cmp dword [ebp + 0x10], esi
jg 0x1007dd65
mov edi, ebp
call fcn.10043580
test eax, eax
jne 0x1007e010
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x20]
mov byte [eax], 3
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x1007e010
mov esi, dword [esp + 0xe0]
lea edx, [esp + 0x6c]
xor ebx, ebx
push edx
mov eax, esi
mov dword [esp + 0x30], ebx
call fcn.1003e7a0
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x1007dedf
mov ebx, dword [esp + 0xdc]
mov esi, dword [edi + 0x44]
mov ecx, dword [ebx]
call fcn.1003e1b0
mov ecx, dword [ebx + 0x44]
mov dword [esp + 0x40], ecx
inc ecx
mov dword [ebx + 0x44], ecx
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x34], eax
mov ebx, eax
mov eax, dword [esp + 0xdc]
xor esi, esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x54], ecx
call fcn.1005f1e0
mov edx, dword [edi + 4]
mov eax, dword [edi + 0x18]
push edx
push esi
push eax
mov eax, dword [esp + 0xe8]
mov ecx, ebx
push ecx
call fcn.10044b80
mov eax, dword [edi + 0x14]
add esp, 0x10
test eax, eax
je 0x1007de50
test esi, esi
je 0x1007de21
mov edx, dword [eax + 4]
cmp edx, dword [esi + 4]
jge 0x1007de23
mov esi, eax
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x1007de15
test esi, esi
je 0x1007de50
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0xc]
jge 0x1007de50
mov ecx, dword [esp + 0xdc]
mov edi, dword [esi + 0x14]
push esi
push ecx
call fcn.10064c50
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x1007de54
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
push edx
push edi
push eax
push 0x26
mov eax, ebp
call fcn.10043600
add esp, 0x10
cmp dword [esp + 0x18], 0
je 0x1007deb4
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp]
test ecx, ecx
je 0x1007dea6
cmp byte [edi + 0x1e], 0
jne 0x1007dea6
mov eax, dword [ebp + 0xc]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea ebx, [ecx + edx*4]
mov ecx, dword [ebx + 0x10]
call fcn.10043980
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xfa
jmp 0x1007deb4
mov ecx, dword [esp + 0x18]
mov eax, 0xfffffff0
call fcn.10043980
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 8]
mov esi, dword [esp + 0x40]
push edx
push esi
push 0x1f
mov eax, ebp
call fcn.10043700
push esi
push 0x2a
mov eax, ebp
call fcn.100436b0
add esp, 0x14
jmp 0x1007dfba
mov eax, esi
mov dword [esp + 0x20], ebx
call fcn.1003e730
mov bl, al
test bl, bl
je 0x1007df30
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov esi, dword [esp + 0x28]
push 0
push eax
push esi
call fcn.10044420
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1007df30
cmp byte [esi + 0x1e], 0
jne 0x1007df30
mov edx, dword [eax + 0xc]
cmp bl, 1
setne cl
mov byte [edx + 0xc], cl
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov byte [ecx], 0x98
mov edi, dword [esp + 0xdc]
lea edx, [esp + 0x6c]
push edx
push edi
call fcn.10068100
movzx ax, bl
movzx ecx, ax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
push edi
call fcn.10077a20
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x1007df7a
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
call fcn.1003c850
jmp 0x1007e0a2
lea edx, [esp + 0x6c]
push edx
push edi
call fcn.10068300
add esp, 8
cmp dword [esp + 0x20], 0
jne 0x1007dfa5
test bl, bl
je 0x1007dfa5
mov eax, dword [esi + 0x14]
push eax
push 0
push 1
mov eax, ebp
call fcn.10043700
add esp, 0xc
push esi
call fcn.10046750
lea ecx, [esp + 0x70]
push ecx
mov eax, edi
call fcn.1004dc70
add esp, 8
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0xdc]
push 8
push esi
push edx
push edi
mov dword [esp + 0x48], 0
call fcn.10064220
mov eax, dword [esp + 0xf4]
push esi
push esi
push eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
push 0xffffffffffffffff
push 0
push 0
push 0
push ecx
push eax
push edi
call fcn.10054810
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
add esp, 0x38
call fcn.1003c850
xor ebx, ebx
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x1007e029
mov edx, dword [esp + 0x30]
lea ecx, [edx*4 + 4]
mov edx, dword [ebp + 0xc]
sub eax, ecx
mov dword [eax], edx
cmp dword [esp + 0x38], 0
je 0x1007e058
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0xdc]
push eax
mov eax, dword [esp + 0xe4]
push edx
push ebp
push eax
push ecx
call fcn.1004cdc0
add esp, 0x14
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x1007e074
mov edx, dword [esp + 0xa0]
lea ecx, [edx*4 + 4]
mov edx, dword [ebp + 0xc]
sub eax, ecx
mov dword [eax], edx
mov eax, dword [esp + 0xe4]
cmp byte [eax], 5
mov dword [esp + 0x1c], 0
jne 0x1007e0a2
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0xdc]
push ecx
push edx
push eax
call fcn.100628b0
add esp, 0xc
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x28]
test eax, eax
je 0x1007e0d4
cmp eax, dword [esi + 0xf0]
jb 0x1007e0d4
cmp eax, dword [esi + 0xf4]
jae 0x1007e0d4
mov ecx, dword [esi + 0xec]
mov dword [eax], ecx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], eax
jmp 0x1007e0dd
push eax
call fcn.10036090
add esp, 4
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x1007e11b
cmp eax, dword [esi + 0xf0]
jb 0x1007e11b
cmp eax, dword [esi + 0xf4]
jae 0x1007e11b
mov edx, dword [esi + 0xec]
pop ebx
mov dword [eax], edx
dec dword [esi + 0xe4]
pop edi
mov dword [esi + 0xec], eax
mov eax, dword [esp + 0x14]
pop esi
pop ebp
add esp, 0xc8
ret
push eax
call fcn.10036090
mov eax, dword [esp + 0x20]
add esp, 4
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc8
ret