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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
mov ebx, ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x5c], 3
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x4c], 2
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], ecx
cmp eax, ecx
jne 0x1012b74d
cmp byte [ebp + 0x10], cl
je 0x1012b755
mov eax, dword [ebx + 0x120]
cmp eax, ecx
je 0x1012b755
mov byte [ebp + 0x10], cl
mov dword [esp + 0x14], eax
cmp eax, ecx
jne 0x1012b772
lea esi, [esp + 0x44]
call fcn.100da650
lea esi, [esp + 0x54]
call fcn.100da650
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, eax
call fcn.10110900
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x98]
cmp dword [ecx + eax*4], 0xffffffff
lea eax, [ecx + eax*4]
je 0x1012be6e
mov eax, dword [eax]
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012b7af
cmp byte [esp + 0x13], 0
je 0x1012be6e
mov edx, dword [ebx + 4]
mov edi, dword [edx + 0x14]
mov eax, dword [ebx + 0xb8]
mov cl, byte [ebx + 0xbc]
lea edx, [esp + 0x60]
mov dword [esp + 0x24], eax
push edx
mov byte [esp + 0x27], cl
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x58]
push eax
push ecx
mov ecx, 4
add edi, 0x10
lea esi, [ecx - 1]
mov dword [esp + 0x38], edi
call fcn.100db050
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [ebx + 0x1c]
lea edx, [edi*4]
push edx
push eax
mov eax, dword [esp + 0x5c]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 0x1c]
add esp, 0xc
push 0
push 0
push 0x11
push 0
push 0
push 0
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x50]
push 0
push eax
lea eax, [esp + 0x5c]
push eax
push 0x11d00001
push ecx
mov ecx, ebx
mov dword [esp + 0x68], 0xffffffff
call fcn.10122240
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [ebx + 8]
mov ecx, dword [edx + 0x805c]
mov eax, dword [esp + 0x3c]
lea edx, [eax + 0x50]
mov dword [esp + 0x34], edx
mov edx, dword [edx]
cmp edx, ecx
je 0x1012b8d4
test edx, edx
je 0x1012b8a4
cmp edx, 0xffffffff
je 0x1012b8a4
lea esi, [eax + 4]
mov dword [esp + 0x1c], esi
mov esi, dword [esi]
test esi, esi
je 0x1012b885
mov edi, dword [eax]
mov dword [esi], edi
jmp 0x1012b88a
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1012b89b
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
mov dword [esi + 4], edx
jmp 0x1012b8a4
mov esi, dword [esp + 0x1c]
mov esi, dword [esi]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1012b8ca
cmp ecx, 0xffffffff
je 0x1012b8ca
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012b8be
mov dword [edx], eax
jmp 0x1012b8c1
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x34]
mov dword [eax], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x98]
mov edx, dword [ebx + 0x1c]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0xbc], 1
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x40], eax
mov eax, ebx
call fcn.10108b40
mov esi, dword [ebx + 0x98]
mov edx, eax
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push 0
push edx
mov ecx, ebx
call fcn.1012b6f0
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [ebx + 0x98]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ecx + eax*4]
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x30]
push eax
mov ecx, eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x3c]
push ecx
push edx
lea ebx, [esp + 0x4c]
mov esi, edi
mov dword [esp + 0x20], 0
call fcn.10107c30
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x30]
mov esi, dword [edi + 0x98]
mov eax, edi
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jbe 0x1012b9b3
mov eax, dword [esp + 0x54]
mov edi, dword [edi + 0x1c]
sub edi, eax
mov ecx, ebx
lea esp, [esp]
mov edx, dword [edi + eax]
cmp edx, dword [eax]
je 0x1012b9ab
inc dword [esp + 0x14]
add eax, 4
sub ecx, 1
jne 0x1012b9a0
mov edi, dword [esp + 0x14]
lea edi, [edi + edi*2]
lea eax, [esp + 0x44]
call fcn.100da490
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x44]
test edi, edi
jbe 0x1012b9de
mov ecx, edi
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
lea edi, [edx + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x14], eax
cmp ebx, eax
jbe 0x1012ba1f
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx + eax*4]
mov ebx, dword [esp + 0x54]
lea ecx, [ecx + eax*4]
cmp esi, dword [ebx + eax*4]
je 0x1012ba18
mov ecx, dword [esp + 0x14]
mov dword [edx + ecx*4], esi
inc ecx
mov dword [esp + 0x14], ecx
inc eax
cmp eax, dword [esp + 0x2c]
jb 0x1012b9f6
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
and ebx, 0xfffff
mov edx, ebx
or edx, 0x9ff00000
push edx
push eax
push ecx
mov ecx, dword [esp + 0x50]
xor eax, eax
mov edx, edi
mov dword [esp + 0x40], ebx
call fcn.1010b5d0
mov esi, eax
test esi, esi
jl 0x1012d45d
xor esi, esi
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x14], esi
jbe 0x1012baf6
jmp 0x1012ba70
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x8054]
mov eax, dword [edi + esi*4]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1012bae7
test edx, edx
je 0x1012baba
cmp edx, 0xffffffff
je 0x1012baba
mov esi, dword [eax + 4]
test esi, esi
je 0x1012baa1
mov ebx, dword [eax]
mov dword [esi], ebx
mov ebx, dword [esp + 0x34]
jmp 0x1012baa6
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1012bab4
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x1012baba
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1012bae0
cmp ecx, 0xffffffff
je 0x1012bae0
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012bad4
mov dword [edx], eax
jmp 0x1012bad7
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov esi, dword [esp + 0x1c]
mov dword [eax + 0x50], ecx
inc esi
mov dword [esp + 0x1c], esi
cmp esi, dword [esp + 0x14]
jb 0x1012ba70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov dl, byte [esp + 0x23]
mov dword [eax + 0xb8], ecx
mov ecx, dword [esp + 0x7c]
push ecx
mov byte [eax + 0xbc], dl
mov edx, dword [esp + 0x3c]
or ebx, 0x11e00000
push ebx
push edx
push eax
xor eax, eax
xor ecx, ecx
mov edx, edi
call fcn.1010b2f0
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x1012be1d
mov ecx, dword [esp + 0x44]
sub ecx, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x7c]
mov ebx, edi
sub ecx, edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + ebx]
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x4000000
xor ecx, ecx
or edx, 0xffffffff
or eax, ecx
je 0x1012bbf2
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x8098]
mov eax, dword [ebx]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1012bbed
test edx, edx
je 0x1012bbc4
cmp edx, 0xffffffff
je 0x1012bbc4
mov edi, dword [eax + 4]
test edi, edi
je 0x1012bbab
mov ebx, dword [eax]
mov dword [edi], ebx
mov ebx, dword [esp + 0x28]
jmp 0x1012bbb0
mov edi, dword [eax]
mov dword [edx + 0x24], edi
mov edi, dword [eax]
test edi, edi
je 0x1012bbbe
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
jmp 0x1012bbc4
mov edi, dword [eax + 4]
mov dword [edx + 0x28], edi
test ecx, ecx
je 0x1012bbea
cmp ecx, 0xffffffff
je 0x1012bbea
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012bbde
mov dword [edx], eax
jmp 0x1012bbe1
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov eax, dword [ebx]
mov edx, dword [eax + 0x50]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + ebx]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x200000
xor ecx, ecx
or eax, ecx
je 0x1012bc81
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x8088]
mov eax, dword [ebx]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1012bc7c
test edx, edx
je 0x1012bc53
cmp edx, 0xffffffff
je 0x1012bc53
mov edi, dword [eax + 4]
test edi, edi
je 0x1012bc3a
mov ebx, dword [eax]
mov dword [edi], ebx
mov ebx, dword [esp + 0x28]
jmp 0x1012bc3f
mov edi, dword [eax]
mov dword [edx + 0x24], edi
mov edi, dword [eax]
test edi, edi
je 0x1012bc4d
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
jmp 0x1012bc53
mov edi, dword [eax + 4]
mov dword [edx + 0x28], edi
test ecx, ecx
je 0x1012bc79
cmp ecx, 0xffffffff
je 0x1012bc79
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012bc6d
mov dword [edx], eax
jmp 0x1012bc70
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov eax, dword [ebx]
mov edx, dword [eax + 0x50]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x50]
mov ecx, dword [ecx + 8]
and ecx, 0x80000000
xor edi, edi
or ecx, edi
je 0x1012bd1d
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 8]
mov edi, dword [eax + 0x50]
mov ecx, dword [ecx + 0x80a4]
mov dword [esp + 0x34], edi
cmp edi, ecx
je 0x1012bd11
test edi, edi
je 0x1012bce8
cmp edi, 0xffffffff
je 0x1012bce8
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x1012bccb
mov edi, dword [eax]
mov dword [ebx], edi
mov edi, dword [esp + 0x34]
jmp 0x1012bcd0
mov ebx, dword [eax]
mov dword [edi + 0x24], ebx
mov ebx, dword [eax]
test ebx, ebx
je 0x1012bcde
mov edi, dword [eax + 4]
mov dword [ebx + 4], edi
jmp 0x1012bce4
mov ebx, dword [eax + 4]
mov dword [edi + 0x28], ebx
mov ebx, dword [esp + 0x28]
test ecx, ecx
je 0x1012bd0e
cmp ecx, 0xffffffff
je 0x1012bd0e
mov edi, dword [ecx + 0x28]
mov dword [eax + 4], edi
mov edi, dword [ecx + 0x28]
test edi, edi
je 0x1012bd02
mov dword [edi], eax
jmp 0x1012bd05
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov ecx, dword [ebx]
xor eax, eax
mov dword [ecx + 0x60], eax
mov ecx, dword [ebx]
mov dword [ecx + 0x64], eax
cmp edx, 0xffffffff
je 0x1012bdee
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov dword [esp + 0x84], eax
mov eax, ecx
and eax, 0x20000000
xor edi, edi
or eax, edi
je 0x1012bd4f
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
mov edx, dword [edx + 0x807c]
jmp 0x1012bd84
mov eax, ecx
and eax, 0x200000
xor edi, edi
or eax, edi
je 0x1012bd6b
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x8080]
jmp 0x1012bd84
and ecx, 0x4000000
xor eax, eax
or ecx, eax
je 0x1012bd84
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov edx, dword [eax + 0x8090]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + ebx]
mov ecx, dword [eax + 0x50]
cmp ecx, edx
je 0x1012bdee
test ecx, ecx
je 0x1012bdc5
cmp ecx, 0xffffffff
je 0x1012bdc5
mov edi, dword [eax + 4]
test edi, edi
je 0x1012bdac
mov ebx, dword [eax]
mov dword [edi], ebx
mov ebx, dword [esp + 0x28]
jmp 0x1012bdb1
mov edi, dword [eax]
mov dword [ecx + 0x24], edi
mov edi, dword [eax]
test edi, edi
je 0x1012bdbf
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
jmp 0x1012bdc5
mov edi, dword [eax + 4]
mov dword [ecx + 0x28], edi
test edx, edx
je 0x1012bdeb
cmp edx, 0xffffffff
je 0x1012bdeb
mov ecx, dword [edx + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 0x28]
test ecx, ecx
je 0x1012bddf
mov dword [ecx], eax
jmp 0x1012bde2
mov dword [edx + 0x24], eax
mov dword [eax], 0
mov dword [edx + 0x28], eax
mov dword [eax + 0x50], edx
mov edi, dword [esp + 0x24]
mov eax, dword [edi + ebx]
mov ecx, dword [ebx]
call fcn.10168470
mov edx, dword [esp + 0x1c]
mov eax, dword [edi + ebx]
mov ecx, dword [edx + ebx]
call fcn.10168470
add ebx, 4
sub dword [esp + 0x14], 1
mov dword [esp + 0x28], ebx
jne 0x1012bb60
xor edi, edi
cmp dword [esp + 0x2c], edi
jbe 0x1012d45d
mov ebx, dword [esp + 0x7c]
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ecx + edi*4]
mov eax, dword [esp + 0x54]
cmp edx, dword [eax + edi*4]
je 0x1012be62
mov edx, dword [ebx]
mov eax, dword [esp + 0x18]
mov esi, edi
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ecx, dword [ebx]
mov dword [ecx + 0x70], edi
add ebx, 4
inc edi
cmp edi, dword [esp + 0x2c]
jb 0x1012be30
jmp 0x1012d45d
mov edx, dword [ebx + 0x94]
mov eax, dword [ebx + 0x1c]
cmp dword [eax + edx*4], 0xffffffff
lea eax, [eax + edx*4]
je 0x1012c58a
mov eax, dword [eax]
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012bea0
cmp byte [esp + 0x13], 0
je 0x1012c58a
cmp byte [ebx + 0x11e], 0
je 0x1012c58a
mov ecx, dword [ebx + 0x94]
mov edx, dword [ebx + 0x1c]
cmp dword [edx + ecx*4], 0xffffffff
lea eax, [edx + ecx*4]
je 0x1012bedc
mov eax, dword [eax]
lea edi, [esp + 0x13]
call fcn.101096c0
test eax, eax
jl 0x1012bedc
cmp byte [esp + 0x13], 0
je 0x1012bedc
xor esi, esi
jmp 0x1012d45d
mov eax, dword [ebx + 4]
mov edi, dword [eax + 0x14]
mov ecx, dword [ebx + 0xb8]
mov dl, byte [ebx + 0xbc]
mov dword [esp + 0x24], ecx
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x58]
push ecx
mov byte [esp + 0x2b], dl
mov edx, dword [esp + 0x60]
mov ecx, 4
add edi, 0x10
push edx
lea esi, [ecx - 1]
mov dword [esp + 0x38], edi
call fcn.100db050
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [ebx + 0x1c]
mov edx, dword [esp + 0x54]
lea ecx, [edi*4]
push ecx
push eax
push edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x1c]
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 0x44]
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
push 0x11a00001
push ecx
push ebx
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x4c], 0xffffffff
call fcn.1010b2f0
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [ebx + 8]
mov ecx, dword [edx + 0x805c]
mov eax, dword [esp + 0x3c]
lea edx, [eax + 0x50]
mov dword [esp + 0x34], edx
mov edx, dword [edx]
cmp edx, ecx
je 0x1012bff5
test edx, edx
je 0x1012bfc5
cmp edx, 0xffffffff
je 0x1012bfc5
lea esi, [eax + 4]
mov dword [esp + 0x1c], esi
mov esi, dword [esi]
test esi, esi
je 0x1012bfa6
mov edi, dword [eax]
mov dword [esi], edi
jmp 0x1012bfab
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1012bfbc
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
mov dword [esi + 4], edx
jmp 0x1012bfc5
mov esi, dword [esp + 0x1c]
mov esi, dword [esi]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1012bfeb
cmp ecx, 0xffffffff
je 0x1012bfeb
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012bfdf
mov dword [edx], eax
jmp 0x1012bfe2
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x34]
mov dword [eax], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x94]
mov edx, dword [ebx + 0x1c]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0xbc], 1
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x40], eax
mov eax, ebx
call fcn.10108b40
mov esi, dword [ebx + 0x94]
mov edx, eax
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push 0
push edx
mov ecx, ebx
call fcn.1012b6f0
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ecx + eax*4]
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x30]
push eax
mov ecx, eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x3c]
push ecx
push edx
lea ebx, [esp + 0x4c]
mov esi, edi
mov dword [esp + 0x20], 0
call fcn.10107c30
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x30]
mov esi, dword [edi + 0x94]
mov eax, edi
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jbe 0x1012c0d3
mov eax, dword [esp + 0x54]
mov edi, dword [edi + 0x1c]
sub edi, eax
mov ecx, ebx
lea ebx, [ebx]
mov edx, dword [eax + edi]
cmp edx, dword [eax]
je 0x1012c0cb
inc dword [esp + 0x14]
add eax, 4
sub ecx, 1
jne 0x1012c0c0
mov edi, dword [esp + 0x14]
lea edi, [edi + edi*2]
lea eax, [esp + 0x44]
call fcn.100da490
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x44]
test edi, edi
jbe 0x1012c0fe
mov ecx, edi
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
lea edi, [edx + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x14], eax
cmp ebx, eax
jbe 0x1012c13f
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ecx + eax*4]
mov ebx, dword [esp + 0x54]
lea ecx, [ecx + eax*4]
cmp esi, dword [ebx + eax*4]
je 0x1012c138
mov ecx, dword [esp + 0x14]
mov dword [edx + ecx*4], esi
inc ecx
mov dword [esp + 0x14], ecx
inc eax
cmp eax, dword [esp + 0x2c]
jb 0x1012c116
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
and ebx, 0xfffff
mov edx, ebx
or edx, 0x9ff00000
push edx
push eax
push ecx
mov ecx, dword [esp + 0x50]
xor eax, eax
mov edx, edi
mov dword [esp + 0x40], ebx
call fcn.1010b5d0
mov esi, eax
test esi, esi
jl 0x1012d45d
xor esi, esi
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x14], esi
jbe 0x1012c216
jmp 0x1012c190
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x8054]
mov eax, dword [edi + esi*4]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1012c207
test edx, edx
je 0x1012c1da
cmp edx, 0xffffffff
je 0x1012c1da
mov esi, dword [eax + 4]
test esi, esi
je 0x1012c1c1
mov ebx, dword [eax]
mov dword [esi], ebx
mov ebx, dword [esp + 0x34]
jmp 0x1012c1c6
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1012c1d4
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x1012c1da
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1012c200
cmp ecx, 0xffffffff
je 0x1012c200
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012c1f4
mov dword [edx], eax
jmp 0x1012c1f7
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov esi, dword [esp + 0x1c]
mov dword [eax + 0x50], ecx
inc esi
mov dword [esp + 0x1c], esi
cmp esi, dword [esp + 0x14]
jb 0x1012c190
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov dl, byte [esp + 0x23]
mov dword [eax + 0xb8], ecx
mov ecx, dword [esp + 0x7c]
push ecx
mov byte [eax + 0xbc], dl
mov edx, dword [esp + 0x3c]
or ebx, 0x11c00000
push ebx
push edx
push eax
xor eax, eax
xor ecx, ecx
mov edx, edi
call fcn.1010b2f0
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x1012c53d
mov ecx, dword [esp + 0x44]
sub ecx, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x7c]
mov ebx, edi
sub ecx, edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + ebx]
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x4000000
xor ecx, ecx
or edx, 0xffffffff
or eax, ecx
je 0x1012c312
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x8098]
mov eax, dword [ebx]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1012c30d
test edx, edx
je 0x1012c2e4
cmp edx, 0xffffffff
je 0x1012c2e4
mov edi, dword [eax + 4]
test edi, edi
je 0x1012c2cb
mov ebx, dword [eax]
mov dword [edi], ebx
mov ebx, dword [esp + 0x28]
jmp 0x1012c2d0
mov edi, dword [eax]
mov dword [edx + 0x24], edi
mov edi, dword [eax]
test edi, edi
je 0x1012c2de
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
jmp 0x1012c2e4
mov edi, dword [eax + 4]
mov dword [edx + 0x28], edi
test ecx, ecx
je 0x1012c30a
cmp ecx, 0xffffffff
je 0x1012c30a
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012c2fe
mov dword [edx], eax
jmp 0x1012c301
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov eax, dword [ebx]
mov edx, dword [eax + 0x50]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + ebx]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x200000
xor ecx, ecx
or eax, ecx
je 0x1012c3a1
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x8088]
mov eax, dword [ebx]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1012c39c
test edx, edx
je 0x1012c373
cmp edx, 0xffffffff
je 0x1012c373
mov edi, dword [eax + 4]
test edi, edi
je 0x1012c35a
mov ebx, dword [eax]
mov dword [edi], ebx
mov ebx, dword [esp + 0x28]
jmp 0x1012c35f
mov edi, dword [eax]
mov dword [edx + 0x24], edi
mov edi, dword [eax]
test edi, edi
je 0x1012c36d
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
jmp 0x1012c373
mov edi, dword [eax + 4]
mov dword [edx + 0x28], edi
test ecx, ecx
je 0x1012c399
cmp ecx, 0xffffffff
je 0x1012c399
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012c38d
mov dword [edx], eax
jmp 0x1012c390
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov eax, dword [ebx]
mov edx, dword [eax + 0x50]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x50]
mov ecx, dword [ecx + 8]
and ecx, 0x80000000
xor edi, edi
or ecx, edi
je 0x1012c43d
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 8]
mov edi, dword [eax + 0x50]
mov ecx, dword [ecx + 0x80a4]
mov dword [esp + 0x34], edi
cmp edi, ecx
je 0x1012c431
test edi, edi
je 0x1012c408
cmp edi, 0xffffffff
je 0x1012c408
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x1012c3eb
mov edi, dword [eax]
mov dword [ebx], edi
mov edi, dword [esp + 0x34]
jmp 0x1012c3f0
mov ebx, dword [eax]
mov dword [edi + 0x24], ebx
mov ebx, dword [eax]
test ebx, ebx
je 0x1012c3fe
mov edi, dword [eax + 4]
mov dword [ebx + 4], edi
jmp 0x1012c404
mov ebx, dword [eax + 4]
mov dword [edi + 0x28], ebx
mov ebx, dword [esp + 0x28]
test ecx, ecx
je 0x1012c42e
cmp ecx, 0xffffffff
je 0x1012c42e
mov edi, dword [ecx + 0x28]
mov dword [eax + 4], edi
mov edi, dword [ecx + 0x28]
test edi, edi
je 0x1012c422
mov dword [edi], eax
jmp 0x1012c425
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov ecx, dword [ebx]
xor eax, eax
mov dword [ecx + 0x60], eax
mov ecx, dword [ebx]
mov dword [ecx + 0x64], eax
cmp edx, 0xffffffff
je 0x1012c50e
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov dword [esp + 0x84], eax
mov eax, ecx
and eax, 0x20000000
xor edi, edi
or eax, edi
je 0x1012c46f
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
mov edx, dword [edx + 0x807c]
jmp 0x1012c4a4
mov eax, ecx
and eax, 0x200000
xor edi, edi
or eax, edi
je 0x1012c48b
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x8080]
jmp 0x1012c4a4
and ecx, 0x4000000
xor eax, eax
or ecx, eax
je 0x1012c4a4
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov edx, dword [eax + 0x8090]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + ebx]
mov ecx, dword [eax + 0x50]
cmp ecx, edx
je 0x1012c50e
test ecx, ecx
je 0x1012c4e5
cmp ecx, 0xffffffff
je 0x1012c4e5
mov edi, dword [eax + 4]
test edi, edi
je 0x1012c4cc
mov ebx, dword [eax]
mov dword [edi], ebx
mov ebx, dword [esp + 0x28]
jmp 0x1012c4d1
mov edi, dword [eax]
mov dword [ecx + 0x24], edi
mov edi, dword [eax]
test edi, edi
je 0x1012c4df
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
jmp 0x1012c4e5
mov edi, dword [eax + 4]
mov dword [ecx + 0x28], edi
test edx, edx
je 0x1012c50b
cmp edx, 0xffffffff
je 0x1012c50b
mov ecx, dword [edx + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 0x28]
test ecx, ecx
je 0x1012c4ff
mov dword [ecx], eax
jmp 0x1012c502
mov dword [edx + 0x24], eax
mov dword [eax], 0
mov dword [edx + 0x28], eax
mov dword [eax + 0x50], edx
mov edi, dword [esp + 0x24]
mov eax, dword [edi + ebx]
mov ecx, dword [ebx]
call fcn.10168470
mov edx, dword [esp + 0x1c]
mov eax, dword [edi + ebx]
mov ecx, dword [edx + ebx]
call fcn.10168470
add ebx, 4
sub dword [esp + 0x14], 1
mov dword [esp + 0x28], ebx
jne 0x1012c280
xor edi, edi
cmp dword [esp + 0x2c], edi
jbe 0x1012d45d
mov ebx, dword [esp + 0x7c]
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ecx + edi*4]
mov ecx, dword [esp + 0x54]
cmp edx, dword [ecx + edi*4]
je 0x1012c57e
mov edx, dword [ebx]
mov esi, edi
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [ebx]
mov dword [edx + 0x70], edi
add ebx, 4
inc edi
cmp edi, dword [esp + 0x2c]
jb 0x1012c550
jmp 0x1012d45d
mov eax, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x1c]
cmp dword [ecx + eax*4], 0xffffffff
lea eax, [ecx + eax*4]
je 0x1012c6e7
mov eax, dword [eax]
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012c5bc
cmp byte [esp + 0x13], 0
je 0x1012c6e7
cmp byte [ebx + 0x11c], 0
je 0x1012c713
cmp byte [ebx + 0xf0], 0
jne 0x1012c6e7
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x94]
mov edi, dword [esp + 0x38]
lea ecx, [eax + edx*4]
mov edx, dword [ecx]
mov dword [esp + 0x40], edx
mov edx, dword [ebx + 0x9c]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x34], eax
mov ecx, dword [ecx]
push edi
mov eax, ebx
call fcn.10135020
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x9c]
mov byte [ebx + 0xf0], 1
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebx + 0x94]
mov dword [esp + 0x30], edx
lea edx, [eax + ecx*4]
push edx
lea eax, [esp + 0x34]
push eax
push edi
mov edi, dword [esp + 0x24]
lea ebx, [esp + 0x40]
mov esi, edi
call fcn.10107c30
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x30]
mov esi, dword [edi + 0x9c]
mov eax, edi
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, edi
call fcn.10108b40
mov esi, dword [edi + 0x94]
mov edx, eax
mov eax, edi
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push 0
push edx
mov ecx, edi
call fcn.1012b6f0
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [edi + 0x94]
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + eax*4]
lea eax, [esp + 0x30]
push eax
mov ecx, eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x3c]
push ecx
push edx
lea ebx, [esp + 0x4c]
mov esi, edi
call fcn.10107c30
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x30]
mov esi, dword [edi + 0x94]
mov eax, edi
jmp 0x1012d456
cmp byte [ebx + 0x11c], 0
je 0x1012c713
mov eax, dword [ebx + 0x9c]
mov ecx, dword [ebx + 0x1c]
cmp dword [ecx + eax*4], 0xffffffff
lea eax, [ecx + eax*4]
je 0x1012c713
mov eax, dword [eax]
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012c74b
cmp byte [ebx + 0x11d], 0
je 0x1012cfbb
mov edx, dword [ebx + 0xa0]
mov eax, dword [ebx + 0x1c]
cmp dword [eax + edx*4], 0xffffffff
lea eax, [eax + edx*4]
je 0x1012cfbb
mov eax, dword [eax]
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jge 0x1012cfbb
cmp byte [ebx + 0x11c], 0
je 0x1012c77e
mov ecx, dword [ebx + 0x9c]
mov edx, dword [ebx + 0x1c]
cmp dword [edx + ecx*4], 0xffffffff
lea eax, [edx + ecx*4]
je 0x1012c77e
mov eax, dword [eax]
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012c77e
cmp byte [esp + 0x13], 0
jne 0x1012c7b1
cmp byte [ebx + 0x11d], 0
je 0x1012c7b8
mov eax, dword [ebx + 0xa0]
mov ecx, dword [ebx + 0x1c]
cmp dword [ecx + eax*4], 0xffffffff
lea eax, [ecx + eax*4]
je 0x1012c7b8
mov eax, dword [eax]
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012c7b8
cmp byte [esp + 0x13], 0
je 0x1012c7b8
xor esi, esi
jmp 0x1012d45d
mov al, byte [ebx + 0xbc]
mov edx, dword [ebx + 0xb8]
mov byte [esp + 0x23], al
mov eax, dword [ebx + 0x114]
inc eax
lea ecx, [esp + 0x50]
push ecx
mov dword [esp + 0x84], edx
lea edi, [eax*4]
lea edx, [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4c]
push edx
mov ecx, 4
push eax
lea esi, [ecx - 2]
mov dword [esp + 0x34], edi
call fcn.100db050
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x44]
mov esi, edi
test esi, esi
jbe 0x1012c81e
mov ecx, esi
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x24]
lea ecx, [edx + esi]
mov dword [esp + 0x68], ecx
lea ecx, [edx + eax*8]
lea eax, [eax + eax*2]
lea edi, [edx + eax*4]
mov edx, dword [ebx + 0x1c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [ebx + 0x3c]
lea eax, [esp + 0x3c]
push eax
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
push 0x11600001
push ecx
push ebx
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x4c], 0xffffffff
call fcn.1010b2f0
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [ebx + 8]
mov ecx, dword [edx + 0x805c]
mov eax, dword [esp + 0x3c]
lea edx, [eax + 0x50]
mov dword [esp + 0x2c], edx
mov edx, dword [edx]
cmp edx, ecx
je 0x1012c8fa
test edx, edx
je 0x1012c8ca
cmp edx, 0xffffffff
je 0x1012c8ca
lea esi, [eax + 4]
mov dword [esp + 0x1c], esi
mov esi, dword [esi]
test esi, esi
je 0x1012c8a7
mov edi, dword [eax]
mov dword [esi], edi
jmp 0x1012c8ac
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
mov edi, dword [esp + 0x70]
test esi, esi
je 0x1012c8c1
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
mov dword [esi + 4], edx
jmp 0x1012c8ca
mov esi, dword [esp + 0x1c]
mov esi, dword [esi]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1012c8f0
cmp ecx, 0xffffffff
je 0x1012c8f0
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012c8e4
mov dword [edx], eax
jmp 0x1012c8e7
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0xb8], eax
xor eax, eax
add ecx, 0xffffffff
mov byte [ebx + 0xbc], 1
mov dword [esp + 0x2c], ecx
je 0x1012c937
jmp 0x1012c920
mov edx, dword [ebx + 0x118]
mov edx, dword [edx + eax*4]
mov esi, dword [ebx + 0x1c]
mov edx, dword [esi + edx*4]
mov dword [edi + eax*4], edx
inc eax
cmp eax, ecx
jb 0x1012c920
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp + 0x28]
mov dword [edi + eax - 4], edx
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x9c]
mov edx, dword [eax + ecx*4]
lea ecx, [eax + ecx*4]
mov dword [esp + 0x40], edx
mov edx, dword [ebx + 0xa0]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x34], eax
cmp dword [ecx], 0xffffffff
je 0x1012c98d
mov eax, ebx
call fcn.10108b40
mov esi, dword [ebx + 0x9c]
mov edx, eax
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ecx, dword [ebx + 0xa0]
mov edx, dword [ebx + 0x1c]
cmp dword [edx + ecx*4], 0xffffffff
je 0x1012c9bc
mov eax, ebx
call fcn.10108b40
mov esi, dword [ebx + 0xa0]
mov edx, eax
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push 0
push ecx
mov ecx, ebx
call fcn.1012b6f0
mov esi, eax
test esi, esi
jl 0x1012d45d
cmp dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x14], 0
je 0x1012ca3a
mov edx, dword [ebx + 0x9c]
mov eax, dword [ebx + 0x1c]
mov ecx, dword [eax + edx*4]
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x30]
push edx
mov eax, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea ebx, [esp + 0x4c]
mov esi, edi
call fcn.10107c30
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x30]
mov esi, dword [edi + 0x9c]
mov eax, edi
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ebx, edi
cmp dword [esp + 0x34], 0xffffffff
je 0x1012ca94
mov edx, dword [ebx + 0xa0]
mov eax, dword [ebx + 0x1c]
mov ecx, dword [eax + edx*4]
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x30]
push edx
mov eax, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea ebx, [esp + 0x40]
mov esi, edi
call fcn.10107c30
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x30]
mov esi, dword [edi + 0xa0]
mov eax, edi
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ebx, edi
mov ecx, dword [esp + 0x44]
xor eax, eax
cmp dword [esp + 0x2c], eax
jbe 0x1012cad7
mov esi, dword [esp + 0x70]
mov edx, dword [ebx + 0x118]
mov edi, dword [ebx + 0x1c]
mov edx, dword [edx + eax*4]
lea edx, [edi + edx*4]
mov edi, dword [edx]
cmp edi, dword [esi + eax*4]
je 0x1012caca
mov edx, edi
mov edi, dword [esp + 0x14]
mov dword [ecx + edi*4], edx
inc edi
mov dword [esp + 0x14], edi
jmp 0x1012cace
mov edi, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x2c]
jb 0x1012caa4
jmp 0x1012cadb
mov edi, dword [esp + 0x14]
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x3c]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x38]
mov dword [ecx + edi*4], eax
inc edi
mov eax, edi
and eax, 0xfffff
mov dword [esp + 0x24], eax
or eax, 0x9ff00000
push eax
push edx
mov edx, dword [esp + 0x70]
push ebx
xor eax, eax
mov dword [esp + 0x20], edi
call fcn.1010b5d0
mov esi, eax
test esi, esi
jl 0x1012d45d
xor esi, esi
mov dword [esp + 0x1c], esi
test edi, edi
jbe 0x1012cbb0
jmp 0x1012cb30
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x68]
mov ecx, dword [eax + 0x8054]
mov eax, dword [edx + esi*4]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1012cba7
test edx, edx
je 0x1012cb7a
cmp edx, 0xffffffff
je 0x1012cb7a
mov esi, dword [eax + 4]
test esi, esi
je 0x1012cb61
mov edi, dword [eax]
mov dword [esi], edi
mov edi, dword [esp + 0x14]
jmp 0x1012cb66
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1012cb74
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x1012cb7a
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1012cba0
cmp ecx, 0xffffffff
je 0x1012cba0
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012cb94
mov dword [edx], eax
jmp 0x1012cb97
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov esi, dword [esp + 0x1c]
mov dword [eax + 0x50], ecx
inc esi
mov dword [esp + 0x1c], esi
cmp esi, edi
jb 0x1012cb30
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
mov cl, byte [esp + 0x23]
push 0
push 0
push 0x11
push 0
push 0
push 0
push 0
mov dword [ebx + 0xb8], eax
mov eax, dword [esp + 0x88]
push edx
push eax
mov eax, dword [esp + 0x48]
mov byte [ebx + 0xbc], cl
mov ecx, dword [esp + 0x5c]
or eax, 0x11700000
push eax
push ecx
mov ecx, ebx
call fcn.10122240
mov esi, eax
test esi, esi
jl 0x1012d45d
test edi, edi
jbe 0x1012cee3
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
sub eax, esi
sub ecx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], edi
jmp 0x1012cc38
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + esi]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x4000000
xor ecx, ecx
or edx, 0xffffffff
or eax, ecx
je 0x1012ccc2
mov ecx, dword [ebx + 8]
mov eax, dword [esi]
mov ecx, dword [ecx + 0x8098]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1012ccbd
test edx, edx
je 0x1012cc90
cmp edx, 0xffffffff
je 0x1012cc90
mov esi, dword [eax + 4]
test esi, esi
je 0x1012cc77
mov edi, dword [eax]
mov dword [esi], edi
jmp 0x1012cc7c
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1012cc8a
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x1012cc90
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1012ccb6
cmp ecx, 0xffffffff
je 0x1012ccb6
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012ccaa
mov dword [edx], eax
jmp 0x1012ccad
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov esi, dword [esp + 0x14]
mov dword [eax + 0x50], ecx
mov eax, dword [esi]
mov edx, dword [eax + 0x50]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + esi]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x200000
xor ecx, ecx
or eax, ecx
je 0x1012cd4d
mov ecx, dword [ebx + 8]
mov eax, dword [esi]
mov ecx, dword [ecx + 0x8088]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1012cd48
test edx, edx
je 0x1012cd1b
cmp edx, 0xffffffff
je 0x1012cd1b
mov esi, dword [eax + 4]
test esi, esi
je 0x1012cd02
mov edi, dword [eax]
mov dword [esi], edi
jmp 0x1012cd07
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1012cd15
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x1012cd1b
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1012cd41
cmp ecx, 0xffffffff
je 0x1012cd41
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1012cd35
mov dword [edx], eax
jmp 0x1012cd38
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov esi, dword [esp + 0x14]
mov dword [eax + 0x50], ecx
mov eax, dword [esi]
mov edx, dword [eax + 0x50]
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
mov ecx, dword [eax + 0x50]
mov ecx, dword [ecx + 8]
and ecx, 0x80000000
xor esi, esi
or ecx, esi
je 0x1012cdef
mov ecx, dword [ebx + 8]
mov esi, dword [eax + 0x50]
mov ecx, dword [ecx + 0x80a4]
mov dword [esp + 0x80], esi
cmp esi, ecx
je 0x1012cde3
test esi, esi
je 0x1012cdb6
cmp esi, 0xffffffff
je 0x1012cdb6
mov edi, dword [eax + 4]
test edi, edi
je 0x1012cd9d
mov esi, dword [eax]
mov dword [edi], esi
mov esi, dword [esp + 0x80]
jmp 0x1012cda2
mov edi, dword [eax]
mov dword [esi + 0x24], edi
mov edi, dword [eax]
test edi, edi
je 0x1012cdb0
mov esi, dword [eax + 4]
mov dword [edi + 4], esi
jmp 0x1012cdb6
mov edi, dword [eax + 4]
mov dword [esi + 0x28], edi
test ecx, ecx
je 0x1012cddc
cmp ecx, 0xffffffff
je 0x1012cddc
mov esi, dword [ecx + 0x28]
mov dword [eax + 4], esi
mov esi, dword [ecx + 0x28]
test esi, esi
je 0x1012cdd0
mov dword [esi], eax
jmp 0x1012cdd3
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov edi, dword [esp + 0x14]
mov dword [eax + 0x50], ecx
mov ecx, dword [edi]
xor eax, eax
mov dword [ecx + 0x60], eax
mov ecx, dword [edi]
mov dword [ecx + 0x64], eax
cmp edx, 0xffffffff
je 0x1012ceb4
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov dword [esp + 0x84], eax
mov eax, ecx
and eax, 0x20000000
xor esi, esi
or eax, esi
je 0x1012ce1d
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0x807c]
jmp 0x1012ce4a
mov eax, ecx
and eax, 0x200000
xor esi, esi
or eax, esi
je 0x1012ce35
mov edx, dword [ebx + 8]
mov edx, dword [edx + 0x8080]
jmp 0x1012ce4a
and ecx, 0x4000000
xor eax, eax
or ecx, eax
je 0x1012ce4a
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0x8090]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + edi]
mov ecx, dword [eax + 0x50]
cmp ecx, edx
je 0x1012ceb4
test ecx, ecx
je 0x1012ce8b
cmp ecx, 0xffffffff
je 0x1012ce8b
mov esi, dword [eax + 4]
test esi, esi
je 0x1012ce72
mov edi, dword [eax]
mov dword [esi], edi
mov edi, dword [esp + 0x14]
jmp 0x1012ce77
mov esi, dword [eax]
mov dword [ecx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1012ce85
mov ecx, dword [eax + 4]
mov dword [esi + 4], ecx
jmp 0x1012ce8b
mov esi, dword [eax + 4]
mov dword [ecx + 0x28], esi
test edx, edx
je 0x1012ceb1
cmp edx, 0xffffffff
je 0x1012ceb1
mov ecx, dword [edx + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 0x28]
test ecx, ecx
je 0x1012cea5
mov dword [ecx], eax
jmp 0x1012cea8
mov dword [edx + 0x24], eax
mov dword [eax], 0
mov dword [edx + 0x28], eax
mov dword [eax + 0x50], edx
mov esi, dword [esp + 0x24]
mov eax, dword [esi + edi]
mov ecx, dword [edi]
call fcn.10168470
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + edi]
mov ecx, dword [edx + edi]
call fcn.10168470
add edi, 4
sub dword [esp + 0x28], 1
mov dword [esp + 0x14], edi
jne 0x1012cc30
xor edi, edi
mov dword [esp + 0x14], edi
cmp dword [esp + 0x2c], edi
jbe 0x1012cf47
nop
mov eax, dword [ebx + 0x118]
mov esi, dword [eax + edi*4]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ecx + esi*4]
mov eax, dword [esp + 0x70]
cmp edx, dword [eax + edi*4]
je 0x1012cf40
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x14]
mov edx, dword [ecx + edx*4]
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x118]
mov edx, dword [esp + 0x6c]
mov edx, dword [edx + eax*4]
mov ecx, dword [ecx + edi*4]
inc eax
mov dword [edx + 0x70], ecx
mov dword [esp + 0x14], eax
inc edi
cmp edi, dword [esp + 0x2c]
jb 0x1012cef0
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x1c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebx + 0x1a8]
test eax, eax
je 0x1012cfa3
mov edi, dword [eax + 4]
mov ecx, edx
and ecx, 0x1f
mov esi, 1
shl esi, cl
mov ecx, edx
shr ecx, 5
lea ecx, [edi + ecx*4]
test dword [ecx], esi
jne 0x1012cfa3
inc dword [eax + 0xc]
or dword [ecx], esi
mov ecx, dword [eax + 0x10]
cmp ecx, 0xffffffff
je 0x1012cf91
cmp edx, ecx
jae 0x1012cf94
mov dword [eax + 0x10], edx
mov ecx, dword [eax + 0x14]
cmp ecx, 0xffffffff
je 0x1012cfa0
cmp edx, ecx
jbe 0x1012cfa3
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebx + 0x3c]
xor esi, esi
mov dword [ecx + 0x70], edx
jmp 0x1012d45d
cmp byte [ebx + 0x11c], 0
mov eax, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x2c], 0xffffffff
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x28], edx
je 0x1012d022
cmp byte [ebx + 0xf0], 0
je 0x1012d022
cmp edx, 0xffffffff
je 0x1012d022
lea edi, [esp + 0x13]
mov eax, edx
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012d002
cmp byte [esp + 0x13], 0
je 0x1012d022
mov eax, ebx
call fcn.10108b40
mov esi, dword [ebx + 0x94]
mov edx, eax
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
xor eax, eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x40], eax
sub eax, 0
je 0x1012d04c
sub eax, 1
je 0x1012d044
sub eax, 1
jne 0x1012d05c
mov eax, dword [ebx + 0x94]
jmp 0x1012d052
mov eax, dword [ebx + 0xa0]
jmp 0x1012d052
mov eax, dword [ebx + 0x9c]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x24], edx
cmp dword [esp + 0x24], 0xffffffff
je 0x1012d0d5
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x18]
push eax
lea edi, [esp + 0x28]
lea ebx, [esp + 0x20]
mov dword [esp + 0x20], 0xffffffff
call fcn.10107db0
mov esi, eax
test esi, esi
jl 0x1012d45d
or eax, 0xffffffff
cmp dword [esp + 0x2c], eax
je 0x1012d0c9
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x38]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
push edx
push eax
call fcn.10107b00
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x23], 1
mov dword [esp + 0x2c], ecx
jmp 0x1012d0d1
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, 3
jb 0x1012d02d
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x9c]
mov edx, dword [eax + ecx*4]
lea ecx, [eax + ecx*4]
mov dword [esp + 0x3c], edx
cmp dword [ecx], 0xffffffff
mov edx, dword [ebx + 0xa0]
mov edi, dword [eax + edx*4]
mov dword [esp + 0x24], edi
je 0x1012d154
mov ecx, dword [ebx + 8]
test byte [ecx + 0x7fd3], 8
je 0x1012d11d
mov eax, dword [ebx + 0x48]
jmp 0x1012d120
mov eax, dword [ebx + 0x74]
lea edx, [esp + 0x1c]
push edx
push eax
push ecx
mov dword [esp + 0x28], eax
call fcn.1016a070
test eax, eax
jge 0x1012d139
or edx, 0xffffffff
jmp 0x1012d13d
mov edx, dword [esp + 0x1c]
mov esi, dword [ebx + 0x9c]
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [ebx + 0xa0]
mov ecx, dword [ebx + 0x1c]
cmp dword [ecx + eax*4], 0xffffffff
je 0x1012d183
mov eax, ebx
call fcn.10108b40
mov esi, dword [ebx + 0xa0]
mov edx, eax
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [ebx + 0x94]
mov eax, dword [ebx + 0x1c]
cmp dword [eax + edx*4], 0xffffffff
je 0x1012d1b2
mov eax, ebx
call fcn.10108b40
mov esi, dword [ebx + 0x94]
mov edx, eax
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], 0xffffffff
cmp eax, 0xffffffff
je 0x1012d241
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012d1f5
cmp byte [esp + 0x13], 0
je 0x1012d213
mov eax, ebx
call fcn.10108b90
mov dword [esp + 0x98], eax
mov eax, ebx
call fcn.10108b40
mov dword [esp + 0xa4], eax
jmp 0x1012d241
cmp dword [esp + 0x3c], 0xffffffff
je 0x1012d241
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x18]
push edx
lea edi, [esp + 0x40]
lea ebx, [esp + 0xa8]
call fcn.10107db0
mov esi, eax
test esi, esi
jl 0x1012d45d
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x24], 0xffffffff
je 0x1012d270
mov eax, dword [esp + 0x24]
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012d262
cmp byte [esp + 0x13], 0
je 0x1012d270
mov eax, ebx
call fcn.10108b90
mov dword [esp + 0x9c], eax
cmp dword [esp + 0x28], 0xffffffff
je 0x1012d2b1
mov eax, dword [esp + 0x28]
lea edi, [esp + 0x13]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1012d291
cmp byte [esp + 0x13], 0
je 0x1012d2b1
cmp byte [ebx + 0x11c], 0
je 0x1012d2a3
cmp byte [ebx + 0xf0], 0
jne 0x1012d2b1
mov eax, ebx
call fcn.10108b90
mov dword [esp + 0xa0], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
push 0
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x44]
push 0
push edx
push eax
push ecx
push 0
mov ecx, ebx
call fcn.101295c0
mov esi, eax
test esi, esi
jl 0x1012d45d
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov edi, dword [ebx + 0x9c]
mov dword [esp + 0x94], eax
or eax, 0xffffffff
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov edi, dword [eax + edi*4]
mov dword [esp + 0x64], edi
mov edi, dword [ebx + 0xa0]
mov edi, dword [eax + edi*4]
mov dword [esp + 0x68], edi
mov edi, dword [ebx + 0x94]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x28]
xor edi, edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x34], edi
jmp 0x1012d370
mov edx, dword [esp + edi + 0x64]
mov eax, dword [esp + edi + 0x8c]
lea ecx, [esp + edi + 0x64]
cmp eax, edx
je 0x1012d3fd
cmp eax, 0xffffffff
je 0x1012d3fd
cmp byte [esp + 0x23], 0
mov byte [ebx + 0xfc], 1
mov dword [esp + 0x1c], 0xffffffff
je 0x1012d3c5
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push eax
lea ebx, [esp + 0x8c]
call fcn.10107b00
mov esi, eax
test esi, esi
jl 0x1012d45d
jmp 0x1012d3c9
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x38]
lea eax, [esp + edi + 0x8c]
push eax
lea ecx, [esp + edi + 0x78]
mov edi, dword [esp + 0x1c]
push ecx
push edx
lea ebx, [esp + 0x28]
mov esi, edi
call fcn.10107c30
mov esi, eax
test esi, esi
jl 0x1012d45d
mov byte [edi + 0xfc], 0
mov ebx, edi
mov edi, dword [esp + 0x34]
add edi, 4
mov dword [esp + 0x34], edi
cmp edi, 0xc
jb 0x1012d370
mov edx, dword [esp + 0x74]
cmp edx, 0xffffffff
je 0x1012d429
mov esi, dword [ebx + 0x9c]
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x78]
cmp edx, 0xffffffff
je 0x1012d445
mov esi, dword [ebx + 0xa0]
mov eax, ebx
call fcn.1010b680
mov esi, eax
test esi, esi
jl 0x1012d45d
mov edx, dword [esp + 0x7c]
cmp edx, 0xffffffff
je 0x1012d45d
mov esi, dword [ebx + 0x94]
mov eax, ebx
call fcn.1010b680
mov esi, eax
cmp dword [esp + 0x44], 0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
lea ecx, [ecx + ecx*2]
lea edi, [edx + ecx*4 + 0x8140]
je 0x1012d498
test eax, eax
ja 0x1012d483
mov eax, 1
mov ebx, dword [edi]
cmp eax, dword [ebx + 8]
jae 0x1012d48f
sub dword [ebx + 8], eax
jmp 0x1012d498
mov eax, dword [ebx]
mov dword [edi], eax
call fcn.100daed0
cmp dword [esp + 0x54], 0
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
lea ecx, [ecx + ecx*2]
lea edi, [edx + ecx*4 + 0x8140]
je 0x1012d4dc
test eax, eax
ja 0x1012d4be
mov eax, 1
mov ebx, dword [edi]
cmp eax, dword [ebx + 8]
jae 0x1012d4d3
sub dword [ebx + 8], eax
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx]
mov dword [edi], eax
call fcn.100daed0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc