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

Disassembly:
sub esp, 0x6c
push ebx
mov ebx, dword [esp + 0x78]
push ebp
mov ebp, dword [esp + 0x78]
push esi
push edi
mov edi, dword [ebx + 0x44]
mov esi, dword [ebp + 8]
mov dword [esp + 0x34], edi
mov eax, dword [edi + 0xc]
mov dword [esp + 0x20], eax
test esi, esi
jne 0x1006da21
cmp dword [ebp + 0x74], esi
jne 0x1006da16
mov eax, dword [ebp]
test byte [eax + 0x4c], 8
jne 0x1006da16
mov byte [ebp + 0x17], 1
push ebp
call fcn.1005cd00
add esp, 4
mov esi, eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
movsx eax, word [eax + 0x2a]
dec dword [ebp + 0x38]
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x84], eax
lea edx, [ecx + 1]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x58], eax
lea eax, [ecx + 2]
mov dword [esp + 0x64], eax
lea eax, [ecx + 3]
mov dword [esp + 0x74], eax
mov al, byte [edi + 0x11]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x38], edx
cmp al, 0x53
je 0x1006db3f
cmp al, 0x57
je 0x1006dae3
mov dword [esp + 0x60], 2
jmp 0x1006db5d
cmp dword [edi + 0x54], 0
jne 0x1006db5d
mov ecx, edi
jmp 0x1006daf0
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 0x20]
cmp eax, str.nth_value
je 0x1006db5d
cmp eax, str.first_value
je 0x1006db5d
cmp eax, str.lead
je 0x1006db5d
cmp eax, 0x10087fdc
je 0x1006db5d
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x1006daf0
cmp byte [edi + 0x12], 0x55
jne 0x1006db55
cmp byte [edi + 0x10], 0x56
je 0x1006db5d
push dword [edi + 0x1c]
push ebp
call fcn.1007f3b0
add esp, 8
test eax, eax
je 0x1006db5d
mov dword [esp + 0x60], 3
jmp 0x1006db5d
cmp byte [edi + 0x10], 0x56
je 0x1006db5d
push dword [edi + 0x18]
push ebp
call fcn.1007f3b0
add esp, 8
test eax, eax
je 0x1006db5d
mov dword [esp + 0x60], 1
mov eax, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x2c]
inc ecx
lea ebx, [eax + 1]
add eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x90], ebx
lea ecx, [eax + 1]
mov dword [ebp + 0x2c], ecx
mov al, byte [edi + 0x11]
mov dword [esp + 0x28], ecx
cmp al, 0x55
je 0x1006db8c
mov edx, ecx
cmp al, 0x53
jne 0x1006db9b
lea eax, [ecx + 1]
mov dword [esp + 0x84], eax
mov edx, eax
mov dword [ebp + 0x2c], eax
mov al, byte [edi + 0x12]
cmp al, 0x55
je 0x1006dba6
cmp al, 0x53
jne 0x1006dbb2
lea eax, [edx + 1]
mov dword [esp + 0x10], eax
mov edx, eax
mov dword [ebp + 0x2c], eax
cmp byte [edi + 0x10], 0x4c
je 0x1006dc08
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1006dbc4
mov ecx, dword [eax]
jmp 0x1006dbc6
xor ecx, ecx
mov eax, dword [edi + 0x48]
add eax, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 8]
test eax, eax
je 0x1006dbe0
mov ebx, dword [esp + 0x1c]
add ebx, dword [eax]
mov dword [esp + 0x1c], ebx
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
lea eax, [edx + ecx]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x68], edx
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x70], edx
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x78], edx
mov dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x2c]
xor ebx, ebx
test eax, eax
jle 0x1006dc7d
mov ebp, dword [esp + 0x90]
mov edi, dword [esp + 0x44]
lea ecx, [ecx]
mov ecx, dword [esi + 0x6c]
lea edx, [ebx + ebp]
cmp dword [esi + 0x70], ecx
jg 0x1006dc3b
push edx
push ebx
push edi
push 0x5a
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006dc69
mov ebp, dword [esp + 0x90]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5a
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
inc ebx
cmp ebx, eax
jl 0x1006dc20
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x80]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006dca5
push dword [esp + 0x30]
push eax
push dword [esp + 0x98]
push 0x5c
push esi
call fcn.10025690
mov edx, dword [esp + 0xa4]
add esp, 0x14
jmp 0x1006dcdb
mov ebx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x90]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x5c
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 8]
test eax, eax
je 0x1006de9b
mov ecx, dword [eax]
push 0
mov dword [esp + 0x30], ecx
mov ecx, dword [edi + 0x48]
push 0
push eax
add ecx, edx
push ebp
mov dword [esp + 0xa0], ecx
call fcn.1004bca0
inc dword [ebp + 0x2c]
add esp, 0x10
mov ebx, dword [esi + 0x6c]
mov edx, dword [edi + 0x40]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x18], eax
cmp dword [esi + 0x70], ebx
jg 0x1006dd3a
push dword [esp + 0x2c]
push edx
push dword [esp + 0x98]
push 0x57
push esi
call fcn.10025690
add esp, 0x14
mov ebx, eax
jmp 0x1006dd73
mov ebp, dword [esp + 0x90]
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x80]
mov dword [eax + ecx*4], 0x57
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esp + 0x3c]
cmp byte [eax + 0x51], 0
je 0x1006dd8d
push edx
push 0xfffffffffffffff7
push eax
call fcn.10022f30
add esp, 0xc
jmp 0x1006dd9f
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
mov ecx, dword [esi + 0x6c]
lea edx, [ebx + 2]
add ebx, 4
cmp dword [esi + 0x70], ecx
jg 0x1006ddbd
push edx
push ebx
push edx
push 0x10
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006dde8
mov edi, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x10
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0x3c], ecx
cmp dword [esi + 0x70], ecx
jg 0x1006de0d
push 0
push 0
push dword [esp + 0x20]
push 0xc
push esi
call fcn.10025690
add esp, 0x14
mov dword [esp + 0x3c], eax
jmp 0x1006de40
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xc
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 0x6c]
dec edx
mov ebx, dword [edi + 0x40]
cmp dword [esi + 0x70], ecx
jg 0x1006de66
push edx
push ebx
push dword [esp + 0x98]
push 0x4e
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006de9b
mov ebp, dword [esp + 0x90]
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], ebp
mov ebp, dword [esp + 0x80]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006dec0
mov ebx, dword [esp + 0x28]
push 0
push ebx
mov ebx, dword [esp + 0x40]
push ebx
push 0x79
push esi
call fcn.10025690
mov edx, dword [esp + 0x3c]
add esp, 0x14
jmp 0x1006def3
mov ebx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x79
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 ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006df0e
push edx
push dword [esp + 0x34]
push ebx
push 0x7a
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006df40
mov ebp, dword [esp + 0x80]
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], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esi + 0x6c]
mov edx, dword [edi + 0x50]
mov dword [esp + 0x90], ebx
cmp dword [esi + 0x70], ebx
jg 0x1006df6e
mov ebx, dword [esp + 0x28]
push ebx
push 0
push edx
push 0x34
push esi
call fcn.10025690
add esp, 0x14
mov dword [esp + 0x90], eax
jmp 0x1006df9d
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
push edi
push ebp
call fcn.1007fc60
mov ebx, dword [esp + 0x8c]
add esp, 8
mov dword [esp + 0x5c], eax
test ebx, ebx
je 0x1006dfd8
push ebx
push dword [edi + 0x18]
push ebp
call fcn.10040450
xor eax, eax
cmp byte [edi + 0x10], 0x56
setne al
dec eax
and eax, 3
push eax
push ebx
push ebp
call fcn.1007eb60
add esp, 0x18
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1006e006
push eax
push dword [edi + 0x1c]
push ebp
call fcn.10040450
xor eax, eax
cmp byte [edi + 0x10], 0x56
setne al
dec eax
and eax, 3
inc eax
push eax
push dword [esp + 0x20]
push ebp
call fcn.1007eb60
add esp, 0x18
mov al, byte [edi + 0x11]
mov cl, al
cmp al, byte [edi + 0x12]
jne 0x1006e1d5
test ebx, ebx
je 0x1006e1d5
mov ebx, dword [esi + 0x6c]
xor edx, edx
cmp al, 0x53
sete dl
lea edx, [edx*2 + 0x37]
cmp dword [esi + 0x70], ebx
jg 0x1006e04d
push dword [esp + 0x10]
push 0
push dword [esp + 0x8c]
push edx
push esi
call fcn.10025690
add esp, 0x14
mov ebx, eax
jmp 0x1006e08b
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0x84]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea eax, [esp + 0x48]
push 0
push eax
call fcn.1007e180
mov ecx, dword [esi + 0x6c]
add esp, 8
cmp dword [esi + 0x70], ecx
jg 0x1006e0ba
push 0
push 1
push dword [esp + 0x94]
push 0x24
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e0f0
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [esp + 0x48]
push eax
call fcn.1007ff70
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x1006e120
push 0
push 0
push dword [esp + 0x94]
push 0x8a
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e156
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x8a
mov dword [eax + ecx*4 + 4], edx
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]
cmp dword [esi + 0x70], ecx
jg 0x1006e173
push 0
push dword [esp + 0x28]
push 0
push 0xb
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e1a6
mov edx, dword [esp + 0x24]
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], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x6c]
test ebx, ebx
jns 0x1006e1b0
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006e1bf
mov eax, 0x10095994
jmp 0x1006e1c8
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x84]
mov dword [eax + 8], edx
mov cl, byte [edi + 0x11]
cmp cl, 0x53
jne 0x1006e22e
cmp byte [edi + 0x10], 0x56
je 0x1006e22e
mov edx, dword [esp + 0x10]
test edx, edx
je 0x1006e22e
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006e200
push ebx
push edx
push ebx
push 0x65
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e22e
mov ebp, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x65
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [edi + 0x11], 0x57
je 0x1006e28e
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x6c]
add edx, 2
cmp dword [esi + 0x70], ecx
jg 0x1006e258
push 0
push 1
push edx
push 0x24
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e28e
mov ebp, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006e2b5
push 0
push 1
push dword [esp + 0x94]
push 0x24
push esi
call fcn.10025690
mov edx, dword [esp + 0xa0]
add esp, 0x14
jmp 0x1006e2eb
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006e308
push 0
push 1
lea eax, [edx + 3]
push eax
push 0x24
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e345
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov edi, dword [esp + 0x34]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], eax
add edx, 3
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1006e4bf
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x1006e4bf
mov edx, dword [ecx]
mov ecx, dword [esi + 0x6c]
dec edx
cmp dword [esi + 0x70], ecx
jg 0x1006e37b
push edx
push eax
push dword [esp + 0x24]
push 0x4e
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e3b1
mov ebp, dword [esp + 0x1c]
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], ebp
mov ebp, dword [esp + 0x14]
mov dword [eax + ecx*4 + 8], ebp
mov ebp, dword [esp + 0x80]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 0x6c]
mov edx, dword [edx]
dec edx
cmp dword [esi + 0x70], ecx
jg 0x1006e3d6
push edx
push dword [esp + 0x6c]
push dword [esp + 0x1c]
push 0x4e
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e40c
mov ebx, dword [esp + 0x14]
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], ebx
mov ebx, dword [esp + 0x68]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x84]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x6c]
mov edx, dword [eax]
dec edx
cmp dword [esi + 0x70], ecx
jg 0x1006e431
push edx
push dword [esp + 0x74]
push dword [esp + 0x1c]
push 0x4e
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e464
mov edi, dword [esp + 0x14]
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], edi
mov edi, dword [esp + 0x70]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x6c]
mov edx, dword [eax]
dec edx
cmp dword [esi + 0x70], ecx
jg 0x1006e489
push edx
push dword [esp + 0x7c]
push dword [esp + 0x1c]
push 0x4e
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e4bf
mov ebp, dword [esp + 0x14]
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], ebp
mov ebp, dword [esp + 0x78]
mov dword [eax + ecx*4 + 8], ebp
mov ebp, dword [esp + 0x80]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006e4dc
push 0
push dword [esp + 0x28]
push 0
push 0xb
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e50f
mov edx, dword [esp + 0x24]
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], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x90]
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x1006e520
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006e52f
mov eax, 0x10095994
jmp 0x1006e538
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1006e559
push dword [esp + 0x24]
push eax
push dword [esp + 0x24]
push dword [esp + 0x2c]
push ebp
call fcn.1007faf0
add esp, 0x14
mov al, byte [edi + 0x11]
cmp al, 0x53
jne 0x1006e697
push 0
push 0
lea eax, [esp + 0x50]
push 3
push eax
call fcn.1007edd0
add esp, 0x10
cmp byte [edi + 0x12], 0x57
je 0x1006e63a
cmp byte [edi + 0x10], 0x56
jne 0x1006e671
mov ecx, dword [esp + 0x8c]
dec dword [ebp + 0x38]
mov ebx, dword [ebp + 0x38]
mov ebp, dword [esi + 0x6c]
push ebx
lea eax, [ecx + 3]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x54]
push ecx
push 0x39
push eax
call fcn.1007f130
push 0
push dword [esp + 0xa0]
lea eax, [esp + 0x68]
push 2
push eax
call fcn.1007edd0
push 0
push 0
lea eax, [esp + 0x78]
push 1
push eax
call fcn.1007edd0
mov ecx, dword [esi + 0x6c]
add esp, 0x38
cmp dword [esi + 0x70], ecx
jg 0x1006e5f3
push 0
push ebp
push 0
push 0xb
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006e622
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], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006e666
push ebx
push esi
push ecx
call fcn.10031450
add esp, 0xc
mov ebp, dword [esp + 0x84]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x24]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006e861
push edx
push esi
push ecx
call fcn.10031450
add esp, 0xc
jmp 0x1006e86a
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
jmp 0x1006e63a
push 0
push dword [esp + 0x14]
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1007edd0
push 0
push ebx
lea eax, [esp + 0x60]
push 2
push eax
call fcn.1007edd0
add esp, 0x20
jmp 0x1006e63a
cmp byte [edi + 0x12], 0x55
jne 0x1006e713
cmp al, 0x55
jne 0x1006e6ae
cmp byte [edi + 0x10], 0x56
jne 0x1006e6ae
mov ebx, 1
jmp 0x1006e6b0
xor ebx, ebx
push 0
push dword [esp + 0x14]
lea eax, [esp + 0x50]
push 3
push eax
call fcn.1007edd0
mov ebp, dword [esp + 0x94]
add esp, 0x10
test ebx, ebx
je 0x1006e6e2
push 0
push ebp
lea eax, [esp + 0x50]
push 2
push eax
call fcn.1007edd0
add esp, 0x10
push 0
push 0
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1007edd0
add esp, 0x10
test ebx, ebx
jne 0x1006e63a
push ebx
push ebp
lea eax, [esp + 0x50]
push 2
push eax
call fcn.1007edd0
add esp, 0x10
jmp 0x1006e63a
xor ebx, ebx
lea eax, [esp + 0x48]
push ebx
push ebx
push 3
push eax
call fcn.1007edd0
add esp, 0x10
cmp byte [edi + 0x12], 0x57
je 0x1006e63a
cmp byte [edi + 0x10], 0x56
jne 0x1006e7e2
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1006e76f
mov edx, dword [esp + 0x8c]
dec dword [ebp + 0x38]
mov ebx, dword [ebp + 0x38]
push ebx
lea ecx, [edx + 3]
push ecx
push eax
push edx
lea eax, [esp + 0x58]
push 0x39
push eax
call fcn.1007f130
add esp, 0x18
push 0
push 0
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1007edd0
mov ebp, dword [esp + 0x94]
lea eax, [esp + 0x58]
push 0
push ebp
push 2
push eax
call fcn.1007edd0
add esp, 0x20
cmp dword [esp + 0x10], 0
je 0x1006e641
push dword [esp + 0x80]
push 0
push 0xb
push esi
call fcn.1005c490
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006e7d4
push ebx
push esi
push ecx
call fcn.10031450
add esp, 0xc
jmp 0x1006e641
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
jmp 0x1006e641
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1006e7fc
push 1
push 0
push eax
push 0x2f
push esi
call fcn.1005c4f0
add esp, 0x14
mov ebx, eax
push 0
push 0
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1007edd0
mov ebp, dword [esp + 0x94]
lea eax, [esp + 0x58]
push 0
push ebp
push 2
push eax
call fcn.1007edd0
add esp, 0x20
cmp dword [esp + 0x10], 0
je 0x1006e641
mov edx, dword [esi + 0x6c]
test ebx, ebx
jns 0x1006e83a
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006e84f
mov eax, 0x10095994
mov dword [eax + 8], edx
jmp 0x1006e641
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x1006e641
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
push dword [esp + 0x88]
call fcn.1006c620
add esp, 4
cmp dword [edi + 8], 0
je 0x1006e904
mov ebx, dword [esi + 0x6c]
mov dword [esp + 0x40], ebx
cmp dword [esi + 0x70], ebx
jg 0x1006e8a8
push 0
push dword [esp + 0x1c]
push 0
push 0x46
push esi
call fcn.10025690
add esp, 0x14
mov dword [esp + 0x40], eax
jmp 0x1006e8db
mov edx, dword [esp + 0x18]
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x1006e8e9
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006e8f8
mov eax, 0x10095994
jmp 0x1006e901
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ebx, dword [esi + 0x6c]
mov edx, dword [esp + 0x38]
cmp dword [esi + 0x70], ebx
jg 0x1006e924
push 0
push 0
push edx
push 0x24
push esi
call fcn.10025690
add esp, 0x14
mov ebx, eax
jmp 0x1006e953
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [edi + 0x12], 0x55
mov al, byte [edi + 0x11]
mov byte [esp + 0x80], al
jne 0x1006e9bf
cmp al, 0x55
jne 0x1006e974
cmp byte [edi + 0x10], 0x56
jne 0x1006e974
mov ebp, 1
jmp 0x1006e976
xor ebp, ebp
push 0
push dword [esp + 0x14]
lea eax, [esp + 0x50]
push 3
push eax
call fcn.1007edd0
add esp, 0x10
test ebp, ebp
je 0x1006e9a7
push 0
push dword [esp + 0x88]
lea eax, [esp + 0x50]
push 2
push eax
call fcn.1007edd0
add esp, 0x10
push 0
push 0
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1007edd0
add esp, 0x10
jmp 0x1006ec3e
push 0
push 0
lea eax, [esp + 0x50]
push 3
push eax
call fcn.1007edd0
mov eax, dword [esi + 0x6c]
add esp, 0x10
cmp byte [esp + 0x80], 0x53
mov dword [esp + 0x80], eax
push 1
jne 0x1006eb9b
cmp byte [edi + 0x10], 0x56
jne 0x1006ea1a
push ebp
lea eax, [esp + 0x50]
push 2
push eax
call fcn.1007edd0
push 1
push 0
mov ebp, eax
lea eax, [esp + 0x60]
push 1
push eax
call fcn.1007edd0
mov dword [esp + 0xa4], eax
jmp 0x1006ea62
cmp byte [edi + 0x12], 0x57
jne 0x1006ea33
push ebp
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1007edd0
push 1
push 0
jmp 0x1006ea4d
push dword [esp + 0x14]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1007edd0
push 1
push ebp
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x60]
push 2
push eax
call fcn.1007edd0
mov ebp, eax
mov ecx, dword [esi + 0x6c]
add esp, 0x20
mov edx, dword [esp + 0x80]
cmp dword [esi + 0x70], ecx
jg 0x1006ea86
push 0
push edx
push 0
push 0xb
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006eab5
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], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x6c]
test ebp, ebp
jns 0x1006eabf
lea ebp, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006eace
mov eax, 0x10095994
jmp 0x1006eadd
mov eax, dword [esi + 0x68]
lea ecx, [ebp*4]
add ecx, ebp
lea eax, [eax + ecx*4]
push 1
mov dword [eax + 8], edx
mov eax, dword [esi + 0x6c]
push 0
mov dword [esp + 0x88], eax
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1007edd0
mov ecx, dword [esi + 0x6c]
add esp, 0x10
mov ebp, eax
mov edx, dword [esp + 0x80]
cmp dword [esi + 0x70], ecx
jg 0x1006eb20
push 0
push edx
push 0
push 0xb
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006eb4f
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], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x84]
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x1006eb60
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006eb6f
mov eax, 0x10095994
jmp 0x1006eb78
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x6c]
test ebp, ebp
jns 0x1006eb85
lea ebp, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006ec2c
mov eax, 0x10095994
jmp 0x1006ec3b
push 0
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1007edd0
push 0
push dword [esp + 0x98]
mov ebp, eax
lea eax, [esp + 0x60]
push 2
push eax
call fcn.1007edd0
mov ecx, dword [esi + 0x6c]
add esp, 0x20
mov edx, dword [esp + 0x80]
cmp dword [esi + 0x70], ecx
jg 0x1006ebe4
push 0
push edx
push 0
push 0xb
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006ec13
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], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x6c]
test ebp, ebp
jns 0x1006ec1d
lea ebp, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006ec2c
mov eax, 0x10095994
jmp 0x1006ec3b
mov eax, dword [esi + 0x68]
lea ecx, [ebp*4]
add ecx, ebp
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x6c]
test ebx, ebx
jns 0x1006ec48
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006ec57
mov eax, 0x10095994
jmp 0x1006ec60
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006ec86
push 0
push 0
push dword [esp + 0x94]
push 0x8a
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006ecbc
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x8a
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [edi + 8], 0
je 0x1006ede5
mov edx, dword [edi + 0x54]
test edx, edx
je 0x1006ed66
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006eceb
push 0
push edx
push 1
push 0x46
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006ed1a
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 1
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]
mov edx, dword [edi + 0x58]
cmp dword [esi + 0x70], ecx
jg 0x1006ed37
push 0
push edx
push 0
push 0x46
push esi
call fcn.10025690
add esp, 0x14
jmp 0x1006ed66
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x40]
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x1006ed74
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x1006ed83
mov eax, 0x10095994
jmp 0x1006ed8c
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1006edb2
push 0
push 0
push dword [esp + 0x20]
push 0x42
push esi
call fcn.10025690
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x42
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret