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

Disassembly:
sub esp, 0x150
mov ecx, dword [0x4e73e0]
xor eax, eax
cmp dword [ecx + 0x209c], eax
push ebx
mov ebx, dword [esp + 0x160]
setne al
push ebp
mov ebp, dword [esp + 0x16c]
push esi
mov esi, dword [esp + 0x174]
push edi
mov edi, dword [esp + 0x168]
test eax, eax
mov dword [esp + 0x150], eax
je 0x1a26d1
push 0
push 0
push 0
push 1
push 0x4a
call fcn.0008dca0
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0x4c80]
mov eax, dword [ecx]
push 0
call dword [eax + 0x3c]
cmp dword [ebx + 0x34], 0
jne 0x1a26fe
test byte [ebx + 0x244], 0x20
jne 0x1a26fe
mov dword [0x529a04], 0
mov eax, dword [ebx + 0x14c]
test eax, eax
mov dword [esp + 0x34], eax
jne 0x1a2710
mov dword [esp + 0x34], ebx
mov eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0x38], eax
jne 0x1a2722
mov dword [esp + 0x38], esi
cmp dword [edi + 0x48], 0
je 0x1a2789
mov esi, dword [edi + 0x1c]
mov ecx, ebx
call fcn.00091370
mov ecx, esi
mov edi, eax
call fcn.00091370
cmp eax, edi
jb 0x1a2789
mov edi, ebx
call fcn.001adff0
mov ecx, esi
mov edi, eax
call fcn.00091310
cmp eax, edi
jb 0x1a2789
mov esi, dword [esp + 0x168]
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 0x12c]
cmp eax, 1
jae 0x1a276d
mov eax, 1
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x12c]
cmp ecx, 1
jae 0x1a2781
mov ecx, 1
cmp eax, ecx
je 0x1a30e3
mov esi, dword [0x4e73e0]
mov edi, esi
call fcn.000a9e90
mov edx, dword [edi + 0x24a8]
mov eax, dword [edi + 0x24b0]
push 8
mov dword [edi + 0x3dc], edx
mov dword [edi + 0x3e0], eax
call fcn.000a9e30
mov ecx, dword [edi + 0x24c0]
sub dword [edi + 0x3dc], ecx
push 0xc
call fcn.000a9e30
mov edx, dword [edi + 0x24c0]
sub dword [edi + 0x3dc], edx
mov edi, dword [esp + 0x168]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x10], 0
add edi, 0x2c
mov dword [esp + 0x30], 3
cmp dword [edi - 0x10], 0
jne 0x1a2837
mov esi, dword [ebx + 0x244]
mov ecx, ebx
shr esi, 1
call fcn.00091310
and esi, 1
jne 0x1a280e
shr eax, 1
cmp eax, 1
jae 0x1a281a
mov esi, 1
jmp 0x1a2829
mov ecx, ebx
call fcn.00091310
test esi, esi
mov esi, eax
jne 0x1a2829
shr esi, 1
mov ecx, ebx
call fcn.00091370
imul eax, esi
add dword [esp + 0x10], eax
cmp dword [edi], 0
jne 0x1a287b
cmp dword [ebp + 0x2d0], 0
je 0x1a285d
mov eax, dword [ebp + 0x2dc]
add eax, dword [ebp + 0x2d4]
xor edx, edx
div dword [ebp + 0x124]
mov esi, eax
jmp 0x1a286d
mov esi, dword [ebp + 0x120]
cmp esi, 1
jae 0x1a286d
mov esi, 1
mov ecx, ebp
call fcn.001adf10
imul eax, esi
add dword [esp + 0x10], eax
add edi, 4
sub dword [esp + 0x30], 1
jne 0x1a27f2
mov eax, dword [esp + 0x168]
add eax, 0x44
mov dword [esp + 0xc0], eax
mov ebp, eax
mov dword [esp + 0x30], 2
cmp dword [ebp], 0
jne 0x1a2a8b
mov esi, dword [ebx + 0x2d0]
test esi, esi
je 0x1a28c6
mov edi, dword [ebx + 0x2dc]
add edi, dword [ebx + 0x2d4]
jmp 0x1a2909
mov ecx, dword [ebx + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a28fa
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a28fa
test eax, 0x20000
je 0x1a28fa
mov eax, dword [ebx + 0x118]
cmp eax, 1
jae 0x1a28f6
mov edi, 1
jmp 0x1a2909
mov edi, eax
jmp 0x1a2909
mov ecx, dword [ecx + 4]
cmp ecx, 1
jae 0x1a2907
mov ecx, 1
mov edi, ecx
mov edx, dword [ebx + 0x244]
shr edx, 1
and edx, 1
je 0x1a298a
test esi, esi
je 0x1a292b
mov eax, dword [ebx + 0x2e0]
add eax, dword [ebx + 0x2d8]
jmp 0x1a29dd
mov ecx, dword [ebx + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2979
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2979
test eax, 0x20000
je 0x1a2979
mov eax, dword [ebx + 0x11c]
cmp eax, 1
jae 0x1a29dd
test edx, edx
je 0x1a2a31
test esi, esi
je 0x1a29f0
mov eax, dword [ebx + 0x2e0]
add eax, dword [ebx + 0x2d8]
jmp 0x1a2a84
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a29dd
mov eax, ecx
jmp 0x1a29dd
test esi, esi
je 0x1a299c
mov eax, dword [ebx + 0x2e0]
add eax, dword [ebx + 0x2d8]
jmp 0x1a29db
mov ecx, dword [ebx + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a29cc
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a29cc
test eax, 0x20000
je 0x1a29cc
mov eax, dword [ebx + 0x11c]
cmp eax, 1
jae 0x1a29db
mov eax, 1
jmp 0x1a29db
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a29db
mov eax, ecx
shr eax, 1
cmp eax, 1
jae 0x1a2958
mov eax, 1
jmp 0x1a2a84
mov ecx, dword [ebx + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2a20
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2a20
test eax, 0x20000
je 0x1a2a20
mov eax, dword [ebx + 0x11c]
cmp eax, 1
jae 0x1a2a84
mov eax, 1
jmp 0x1a2a84
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a2a84
mov eax, ecx
jmp 0x1a2a84
test esi, esi
je 0x1a2a43
mov eax, dword [ebx + 0x2e0]
add eax, dword [ebx + 0x2d8]
jmp 0x1a2a82
mov ecx, dword [ebx + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2a73
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2a73
test eax, 0x20000
je 0x1a2a73
mov eax, dword [ebx + 0x11c]
cmp eax, 1
jae 0x1a2a82
mov eax, 1
jmp 0x1a2a82
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a2a82
mov eax, ecx
shr eax, 1
imul eax, edi
add dword [esp + 0x10], eax
add ebp, 4
sub dword [esp + 0x30], 1
jne 0x1a28a4
mov eax, dword [0x4e73e0]
mov ecx, dword [esp + 0x10]
cmp dword [eax + 0x3e0], ecx
jbe 0x1a3131
mov dword [esp + 0x10], 0
jmp 0x1a2ac0
mov esi, dword [esp + 0x16c]
mov edx, dword [esi + 0x244]
mov edi, dword [esi + 0x2d0]
shr edx, 1
and edx, 1
je 0x1a2b4e
test edi, edi
je 0x1a2aef
mov eax, dword [esi + 0x2e0]
add eax, dword [esi + 0x2d8]
jmp 0x1a2ba1
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2b3d
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2b3d
test eax, 0x20000
je 0x1a2b3d
mov eax, dword [esi + 0x11c]
cmp eax, 1
jae 0x1a2ba1
test edx, edx
je 0x1a2bf5
test edi, edi
je 0x1a2bb4
mov edx, dword [esi + 0x2e0]
add edx, dword [esi + 0x2d8]
jmp 0x1a2c4a
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a2ba1
mov eax, ecx
jmp 0x1a2ba1
test edi, edi
je 0x1a2b60
mov eax, dword [esi + 0x2e0]
add eax, dword [esi + 0x2d8]
jmp 0x1a2b9f
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2b90
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2b90
test eax, 0x20000
je 0x1a2b90
mov eax, dword [esi + 0x11c]
cmp eax, 1
jae 0x1a2b9f
mov eax, 1
jmp 0x1a2b9f
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a2b9f
mov eax, ecx
shr eax, 1
cmp eax, 1
jae 0x1a2b1c
mov edx, 1
jmp 0x1a2c4a
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2be4
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2be4
test eax, 0x20000
je 0x1a2be4
mov edx, dword [esi + 0x11c]
cmp edx, 1
jae 0x1a2c4a
mov edx, 1
jmp 0x1a2c4a
mov ecx, dword [ecx + 8]
cmp ecx, 1
jae 0x1a2bf1
mov ecx, 1
mov edx, ecx
jmp 0x1a2c4a
test edi, edi
je 0x1a2c07
mov eax, dword [esi + 0x2e0]
add eax, dword [esi + 0x2d8]
jmp 0x1a2c46
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2c37
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2c37
test eax, 0x20000
je 0x1a2c37
mov eax, dword [esi + 0x11c]
cmp eax, 1
jae 0x1a2c46
mov eax, 1
jmp 0x1a2c46
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a2c46
mov eax, ecx
shr eax, 1
mov edx, eax
test edi, edi
je 0x1a2c5c
mov eax, dword [esi + 0x2dc]
add eax, dword [esi + 0x2d4]
jmp 0x1a2c9b
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2c8c
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2c8c
test eax, 0x20000
je 0x1a2c8c
mov eax, dword [esi + 0x118]
cmp eax, 1
jae 0x1a2c9b
mov eax, 1
jmp 0x1a2c9b
mov ecx, dword [ecx + 4]
cmp ecx, 1
mov eax, 1
jb 0x1a2c9b
mov eax, ecx
mov ecx, dword [esp + 0x168]
mov esi, dword [esp + 0x10]
push 0
push 0
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
push 0x59595959
lea edi, [ecx + esi*4 + 0x1c]
push edi
push edx
call fcn.001095b0
mov eax, dword [esp + 0x34]
cmp dword [eax + 0x2d0], 0
mov ebp, eax
je 0x1a2cee
mov ecx, eax
mov eax, dword [ecx + 0x2dc]
add eax, dword [ecx + 0x2d4]
xor edx, edx
div dword [ecx + 0x124]
mov ebx, eax
jmp 0x1a2cfe
mov ebx, dword [ebp + 0x120]
cmp ebx, 1
jae 0x1a2cfe
mov ebx, 1
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x10]
push 0
push 0
lea esi, [ecx + edx*4 + 0x2c]
push 0
mov ecx, ebp
call fcn.001adf10
push eax
mov eax, dword [esp + 0x174]
push ebx
push 0x56555655
push esi
push eax
call fcn.001095b0
cmp dword [edi], 0
je 0x1a3131
mov eax, dword [esi]
test eax, eax
je 0x1a3131
mov ebx, 1
mov dword [eax + 0x140], ebx
mov eax, dword [edi]
mov ecx, 2
or dword [eax + 0x244], ecx
mov eax, dword [edi]
or dword [eax + 0x244], ebx
mov edi, dword [edi]
mov edx, 0xfffffffb
and dword [edi + 0x244], edx
mov eax, dword [esi]
or dword [eax + 0x244], ecx
mov eax, dword [esi]
or dword [eax + 0x244], ebx
mov eax, dword [esi]
and dword [eax + 0x244], edx
mov eax, dword [ebp + 0x12c]
cmp eax, ebx
jae 0x1a2d93
mov eax, ebx
cmp eax, ebx
mov esi, dword [esi]
mov dword [esi + 0x124], ecx
mov edi, ebx
jb 0x1a2da3
mov edi, eax
cmp dword [esi + 0x140], 0
mov dword [esi + 0x12c], edi
jne 0x1a2e0a
cmp dword [esi + 0x2d0], 0
je 0x1a2dc9
mov eax, dword [esi + 0x2e0]
add eax, dword [esi + 0x2d8]
jmp 0x1a2e00
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2df5
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2df5
test eax, 0x20000
je 0x1a2df5
mov eax, dword [esi + 0x11c]
cmp eax, ebx
jae 0x1a2e00
mov eax, ebx
jmp 0x1a2e00
mov ecx, dword [ecx + 8]
cmp ecx, ebx
mov eax, ebx
jb 0x1a2e00
mov eax, ecx
xor edx, edx
div edi
mov dword [esi + 0x128], eax
mov eax, dword [esp + 0x10]
add eax, ebx
cmp eax, 3
mov dword [esp + 0x10], eax
jb 0x1a2ac0
mov ecx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x16c]
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], ecx
jmp 0x1a2e40
mov edx, dword [ebp + 0x244]
mov esi, dword [ebp + 0x2d0]
shr edx, 1
and edx, 1
je 0x1a2ec7
test esi, esi
je 0x1a2e68
mov eax, dword [ebp + 0x2e0]
add eax, dword [ebp + 0x2d8]
jmp 0x1a2f1a
mov ecx, dword [ebp + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2eb6
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2eb6
test eax, 0x20000
je 0x1a2eb6
mov eax, dword [ebp + 0x11c]
cmp eax, 1
jae 0x1a2f1a
test edx, edx
je 0x1a2f6e
test esi, esi
je 0x1a2f2d
mov edx, dword [ebp + 0x2e0]
add edx, dword [ebp + 0x2d8]
jmp 0x1a2fc3
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a2f1a
mov eax, ecx
jmp 0x1a2f1a
test esi, esi
je 0x1a2ed9
mov eax, dword [ebp + 0x2e0]
add eax, dword [ebp + 0x2d8]
jmp 0x1a2f18
mov ecx, dword [ebp + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2f09
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2f09
test eax, 0x20000
je 0x1a2f09
mov eax, dword [ebp + 0x11c]
cmp eax, 1
jae 0x1a2f18
mov eax, 1
jmp 0x1a2f18
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a2f18
mov eax, ecx
shr eax, 1
cmp eax, 1
jae 0x1a2e95
mov edx, 1
jmp 0x1a2fc3
mov ecx, dword [ebp + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2f5d
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2f5d
test eax, 0x20000
je 0x1a2f5d
mov edx, dword [ebp + 0x11c]
cmp edx, 1
jae 0x1a2fc3
mov edx, 1
jmp 0x1a2fc3
mov ecx, dword [ecx + 8]
cmp ecx, 1
jae 0x1a2f6a
mov ecx, 1
mov edx, ecx
jmp 0x1a2fc3
test esi, esi
je 0x1a2f80
mov eax, dword [ebp + 0x2e0]
add eax, dword [ebp + 0x2d8]
jmp 0x1a2fbf
mov ecx, dword [ebp + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a2fb0
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a2fb0
test eax, 0x20000
je 0x1a2fb0
mov eax, dword [ebp + 0x11c]
cmp eax, 1
jae 0x1a2fbf
mov eax, 1
jmp 0x1a2fbf
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a2fbf
mov eax, ecx
shr eax, 1
mov edx, eax
test esi, esi
je 0x1a2fd5
mov eax, dword [ebp + 0x2dc]
add eax, dword [ebp + 0x2d4]
jmp 0x1a3014
mov ecx, dword [ebp + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a3005
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a3005
test eax, 0x20000
je 0x1a3005
mov eax, dword [ebp + 0x118]
cmp eax, 1
jae 0x1a3014
mov eax, 1
jmp 0x1a3014
mov ecx, dword [ecx + 4]
cmp ecx, 1
mov eax, 1
jb 0x1a3014
mov eax, ecx
mov esi, dword [esp + 0x20]
push 0
push 0
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
push 0x59595959
push esi
push edx
call fcn.001095b0
mov ecx, dword [esi]
test ecx, ecx
je 0x1a3131
push 0
push 1
push 0
xor eax, eax
call fcn.000b7990
mov eax, dword [esi]
mov ebx, dword [eax + 0xdc]
call fcn.000b8200
mov edx, eax
test edx, edx
je 0x1a309e
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xdc]
xor esi, esi
cmp dword [eax + 8], esi
jbe 0x1a309e
mov ecx, dword [eax + 4]
mov ebx, ecx
shr ecx, 2
mov edi, edx
mov eax, 0x44444444
rep stosd dword es:[edi], eax
mov ecx, ebx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xdc]
add edx, dword [eax]
add esi, 1
cmp esi, dword [eax + 8]
jb 0x1a3070
mov edi, dword [esp + 0x20]
mov esi, dword [edi]
call fcn.000b7aa0
mov eax, dword [esp + 0x10]
add eax, 1
add edi, 4
cmp eax, 2
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edi
jb 0x1a2e40
mov eax, dword [esp + 0x168]
mov ebp, dword [esp + 0x174]
mov ebx, dword [esp + 0x16c]
xor ecx, ecx
mov dword [eax + 0x38], ecx
mov dword [eax + 0x40], ecx
mov esi, eax
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + ecx*4 + 0x1c]
mov dword [esp + 0x18], edx
xor edx, edx
lea eax, [ecx + 2]
mov edi, 3
div edi
mov eax, dword [esi + edx*4 + 0x1c]
mov dword [esp + 0x14], eax
lea eax, [ecx + 1]
xor edx, edx
mov ecx, edi
div ecx
mov eax, dword [ebx + 0x244]
test al, 1
mov edx, dword [esi + edx*4 + 0x1c]
mov dword [esp + 0x3c], edx
je 0x1a3159
test al, 2
jne 0x1a3159
mov eax, dword [esp + 0x178]
mov dword [eax + 0x38], 0
jmp 0x1a316e
cmp dword [esp + 0x150], 0
je 0x1a314a
push 0
push 0
push 0
push 2
push 0x4a
call fcn.0008dca0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x150
ret 0x1c
mov ecx, dword [esp + 0x178]
and al, 0x20
neg al
sbb eax, eax
neg eax
add eax, 1
mov dword [ecx + 0x38], eax
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + ecx*4 + 0x2c]
mov dword [esp + 0x10], edx
xor edx, edx
mov edi, 3
lea eax, [ecx + 2]
div edi
mov eax, dword [esi + edx*4 + 0x2c]
mov dword [esp + 0x28], eax
xor edx, edx
lea eax, [ecx + 1]
div edi
lea eax, [ecx + 4]
mov ecx, edi
mov edx, dword [esi + edx*4 + 0x2c]
mov dword [esp + 0xc4], edx
xor edx, edx
div ecx
test byte [esi], 2
mov dword [esi + 0x38], edx
je 0x1a3201
cmp dword [esi + 0x40], 2
jb 0x1a3201
test byte [ebx + 0x250], 8
jne 0x1a3201
mov edi, dword [esp + 0x170]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x16c]
mov esi, dword [esp + 0x164]
push edi
push edx
push eax
call fcn.001a0540
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc4]
push edi
push ecx
push edx
mov dword [esp + 0x24], eax
call fcn.001a0a30
mov dword [esp + 0x10], eax
jmp 0x1a322f
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x170]
mov edi, dword [esp + 0x164]
push ebp
push eax
push esi
push ebx
mov ecx, edi
call fcn.001b2690
mov ecx, dword [esp + 0x10]
push ebp
push ecx
push esi
push ebx
mov ecx, edi
call fcn.001b2690
mov esi, edi
mov ecx, dword [esp + 0x168]
mov eax, dword [ecx + 0x40]
cmp eax, 2
mov ebx, dword [esp + 0x17c]
jb 0x1a4912
mov edx, dword [ebp + 0xc]
mov edi, dword [ebx + 0xc]
sub edx, dword [ebp + 4]
sub edi, dword [ebx + 4]
cmp edi, edx
jg 0x1a326d
mov edx, dword [esp + 0x16c]
test byte [edx + 0x244], 2
je 0x1a490d
mov eax, dword [esi + 0x4c90]
test ah, 1
jne 0x1a33ee
test al, al
js 0x1a33ee
mov esi, dword [esp + 0x18]
test esi, esi
je 0x1a32e1
cmp dword [esi + 0xb4], 0
jne 0x1a32d5
cmp dword [esi + 0xb8], 0
je 0x1a32d5
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0x2520]
mov edx, dword [ecx]
call dword [edx + 0x124]
test byte [eax + 0x4c90], 0x40
je 0x1a32d5
mov ebx, dword [0x4e73e0]
push 0
push 0
add ebx, 0x3fe8
call fcn.000b3790
mov dword [esi + 0xb4], eax
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0xb4]
jmp 0x1a32e3
xor edi, edi
cmp dword [esp + 0x18], 0
je 0x1a32f2
test edi, edi
je 0x1a32f2
xor ebx, ebx
jmp 0x1a32f7
mov ebx, 1
mov ebp, dword [esp + 0x164]
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x14]
mov esi, eax
test esi, esi
je 0x1a33f5
mov ecx, dword [0x4e73e0]
test byte [ecx + 0x2484], 0x20
je 0x1a337a
mov eax, dword [esi + 0x358]
mov edx, dword [esi + 0x154]
mov dword [esi + eax*4 + 0x158], edx
mov eax, 1
add dword [esi + 0x358], eax
mov dword [esi + 0x154], eax
mov ecx, dword [ecx + 0x60c4]
shl eax, cl
mov ecx, dword [esi + 0x8c]
and eax, 0xfff
or ah, 0x10
shl eax, 4
mov dword [ecx], eax
add dword [esi + 0x8c], 4
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0x1a337a
mov eax, esi
call fcn.000b5d70
test ebx, ebx
jne 0x1a338d
test edi, edi
je 0x1a338d
mov edx, dword [edi + 0x10]
push ebx
push edx
push edi
call fcn.000b27d0
mov eax, dword [0x4e73e0]
test byte [eax + 0x2484], 0x20
je 0x1a33f5
or edx, 0xffffffff
add dword [esi + 0x358], edx
mov eax, dword [esi + 0x358]
mov ecx, dword [esi + eax*4 + 0x158]
cmp ecx, edx
jne 0x1a33e5
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x154], edx
mov dword [ecx], 0x1fff0
add dword [esi + 0x8c], 4
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0x1a33f5
mov eax, esi
call fcn.000b5d70
jmp 0x1a33f5
mov eax, esi
call fcn.000b63b0
jmp 0x1a33f5
mov ebp, dword [esp + 0x164]
mov esi, dword [esp + 0x18]
push 1
push esi
xor ecx, ecx
xor edi, edi
mov eax, ebp
call fcn.00108cb0
xor eax, eax
xor edx, edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], edx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x134], eax
mov ebx, dword [esp + 0x16c]
xor ecx, ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x138], eax
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x13c], eax
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x148], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xd0], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x110], edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0x114], edx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x118], edx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x11c], edx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x120], edx
mov dword [esp + 0x124], edx
mov dword [esp + 0xe8], eax
mov eax, dword [ebx + 0x244]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x128], edx
shr eax, 5
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], ecx
mov edx, eax
not edx
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x80], edi
and edx, 1
mov edi, dword [ecx + edx*4 + 0x44]
and eax, 1
mov eax, dword [ecx + eax*4 + 0x44]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], 0x3f800000
jne 0x1a35dc
mov dword [esp + 0x20], 0xbf800000
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push esi
push 0
call dword [edx + 0x28]
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 1
call dword [eax + 0x28]
mov eax, dword [0x4e73e0]
test byte [eax + 0x28398], 0x40
jne 0x1a36e3
cmp dword [ebx + 0x2d0], 0
je 0x1a3641
mov eax, dword [ebx + 0x2dc]
add eax, dword [ebx + 0x2d4]
jmp 0x1a367b
mov ecx, dword [ebx + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a366c
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a366c
test eax, 0x20000
je 0x1a366c
mov eax, dword [ebx + 0x118]
cmp eax, 1
jb 0x1a3682
jmp 0x1a367b
mov ecx, dword [ecx + 4]
cmp ecx, 1
mov eax, 1
jb 0x1a367b
mov eax, ecx
cmp eax, 0x500
jae 0x1a36e3
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
mov esi, 1
push esi
push 2
push esi
push 0
push eax
push 2
mov dword [esp + 0xe4], esi
call dword [edx + 0x28]
mov eax, dword [esp + 0xc4]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push esi
push 2
push esi
push 0
push eax
push 3
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 4
call dword [edx + 0x30]
push 0
push 0x185
jmp 0x1a36ff
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
xor esi, esi
push 2
mov dword [esp + 0xc4], esi
call dword [edx + 0x30]
push esi
push 0x184
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push 1
push 0
push edi
call dword [edx + 0x20]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0x4b
call dword [eax + 0x24]
mov ebx, edi
call fcn.001adea0
cmp dword [edi + 0x2d0], 0
mov dword [esp + 0x1c], eax
je 0x1a3757
mov ax, word [edi + 0x2e0]
add ax, word [edi + 0x2d8]
mov dword [esp + 0x24], eax
jmp 0x1a379b
mov ecx, dword [edi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a378a
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a378a
test eax, 0x20000
je 0x1a378a
mov eax, dword [edi + 0x11c]
cmp eax, 1
jae 0x1a3751
mov dword [esp + 0x24], 1
jmp 0x1a379b
mov ecx, dword [ecx + 8]
cmp ecx, 1
jae 0x1a3797
mov ecx, 1
mov dword [esp + 0x24], ecx
mov ebx, edi
mov dword [esp + 0x60], 0
mov dword [esp + 0x80], 0
call fcn.001adea0
test esi, esi
je 0x1a397f
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x1a37cf
fadd dword [0x41bc68]
fstp dword [esp + 0xa0]
cmp dword [edi + 0x2d0], 0
je 0x1a37ed
mov eax, dword [edi + 0x2e0]
add eax, dword [edi + 0x2d8]
jmp 0x1a382c
mov ecx, dword [edi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a381d
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a381d
test eax, 0x20000
je 0x1a381d
mov eax, dword [edi + 0x11c]
cmp eax, 1
jae 0x1a382c
mov eax, 1
jmp 0x1a382c
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a382c
mov eax, ecx
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x1a383e
fadd dword [0x41bc68]
fstp dword [esp + 0x40]
mov ebx, edi
fld dword [esp + 0x20]
mov dword [esp + 0x12c], 0
fmul dword [0x41bf38]
fst dword [esp + 0xc8]
fstp dword [esp + 0xec]
call fcn.001adea0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x1a387e
fadd dword [0x41bc68]
fstp dword [esp + 0x10c]
cmp dword [edi + 0x2d0], 0
je 0x1a389c
mov eax, dword [edi + 0x2e0]
add eax, dword [edi + 0x2d8]
jmp 0x1a38db
mov ecx, dword [edi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a38cc
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a38cc
test eax, 0x20000
je 0x1a38cc
mov eax, dword [edi + 0x11c]
cmp eax, 1
jae 0x1a38db
mov eax, 1
jmp 0x1a38db
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a38db
mov eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x12c]
cmp ecx, 1
jae 0x1a38ef
mov ecx, 1
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x1a3901
fadd dword [0x41bc68]
test ecx, ecx
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
jge 0x1a3913
fadd dword [0x41bc68]
push 0
fdivp st(1)
lea eax, [esp + 0xd0]
push eax
mov ecx, dword [ebp + 0x4c80]
lea eax, [esp + 0x114]
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0xa0]
push eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x44]
push eax
push 0
push 0
push 1
fadd dword [esp + 0x100]
fstp dword [esp + 0x104]
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x1a3a3b
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x1a3991
fadd dword [0x41bc68]
fstp dword [esp + 0xa0]
cmp dword [edi + 0x2d0], 0
je 0x1a39af
mov eax, dword [edi + 0x2e0]
add eax, dword [edi + 0x2d8]
jmp 0x1a39ee
mov ecx, dword [edi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a39df
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a39df
test eax, 0x20000
je 0x1a39df
mov eax, dword [edi + 0x11c]
cmp eax, 1
jae 0x1a39ee
mov eax, 1
jmp 0x1a39ee
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a39ee
mov eax, ecx
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x1a3a00
fadd dword [0x41bc68]
mov ecx, dword [ebp + 0x4c80]
fstp dword [esp + 0x40]
mov edx, dword [ecx]
push 0
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
push 0
push 1
call dword [edx + 0x34]
mov esi, dword [esp + 0x168]
cmp dword [esi + 0x178], 1
jne 0x1a3a8a
mov edi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x170]
mov edx, dword [esp + 0x34]
push edi
push ecx
push ebx
push edx
mov ecx, ebp
call fcn.001b2690
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x16c]
push edi
push eax
push ebx
push ecx
mov ecx, ebp
call fcn.001b2690
jmp 0x1a4947
test byte [esi], 0x80
mov ecx, dword [ebp + 0x4c80]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
je 0x1a3bf3
mov edx, dword [ecx]
push edi
push 0
call dword [edx + 0x28]
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 1
call dword [eax + 0x28]
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 2
call dword [eax + 0x28]
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 3
call dword [eax + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 4
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push 1
push 0
push eax
call dword [edx + 0x20]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x186
call dword [edx + 0x14]
fld dword [esp + 0x20]
fmul dword [0x41bc8c]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0xa0]
fst dword [esp + 0x14]
mov dword [esp + 0x84], eax
fadd dword [esp + 0x60]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x80]
fst dword [esp + 0x60]
mov dword [esp + 0xa4], edx
fld dword [esp + 0x14]
mov dword [esp + 0x44], eax
fadd dword [esp + 0x40]
mov dword [esp + 0x88], ecx
fst dword [esp + 0x40]
mov ecx, dword [ebp + 0x4c80]
fxch st(1)
push 0
fstp dword [esp + 0x6c]
mov dword [esp + 0xac], edx
lea edx, [esp + 0x44]
fstp dword [esp + 0x4c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xa8]
push edx
lea edx, [esp + 0x6c]
push edx
lea edx, [esp + 0x90]
push edx
mov edx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x34]
push edx
push 0
push 0
push 3
call dword [eax + 0x34]
jmp 0x1a3f03
mov ebx, dword [esp + 0x34]
mov eax, dword [ecx]
push ebx
push 0
call dword [eax + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edi
push 1
call dword [edx + 0x28]
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 2
call dword [eax + 0x28]
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 3
call dword [eax + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 4
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push 1
push 0
push eax
call dword [edx + 0x20]
test byte [esi], 0x20
mov ecx, dword [ebp + 0x4c80]
push 0
je 0x1a3c9d
mov edx, dword [ecx]
push 0x188
call dword [edx + 0x14]
jmp 0x1a3ca7
mov eax, dword [ecx]
push 0x189
call dword [eax + 0x14]
mov ecx, dword [esp + 0x16c]
test byte [ecx + 0x244], 0x20
mov dword [esp + 0x14], 0
jne 0x1a3cc7
mov dword [esp + 0x14], 0x3f800000
mov dword [esp + 0x8c], 0
mov dword [esp + 0x6c], 0
call fcn.001adea0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x1a3cf1
fadd dword [0x41bc68]
fst dword [esp + 0xac]
cmp dword [ebx + 0x2d0], 0
je 0x1a3d0f
mov eax, dword [ebx + 0x2e0]
add eax, dword [ebx + 0x2d8]
jmp 0x1a3d4e
mov ecx, dword [ebx + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a3d3f
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a3d3f
test eax, 0x20000
je 0x1a3d3f
mov eax, dword [ebx + 0x11c]
cmp eax, 1
jae 0x1a3d4e
mov eax, 1
jmp 0x1a3d4e
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a3d4e
mov eax, ecx
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x1a3d60
fadd dword [0x41bc68]
fstp dword [esp + 0x4c]
push 0
fld dword [esp + 0x18]
mov dword [esp + 0x84], 0
fchs
mov dword [esp + 0x130], 0
fst dword [esp + 0x64]
mov dword [esp + 0x88], 0x3f800000
fld st(1)
mov dword [esp + 0x134], 0xbf800000
fstp dword [esp + 0xa4]
mov dword [esp + 0x8c], 0xbf800000
fld dword [esp + 0x50]
mov dword [esp + 0x138], 0x3f800000
fsub dword [esp + 0x18]
mov dword [esp + 0x13c], 0
fst dword [esp + 0x44]
fld dword [0x41bc3c]
fsub dword [esp + 0x18]
fst dword [esp + 0xcc]
fst dword [esp + 0xf0]
mov eax, dword [esp + 0xcc]
fld st(3)
mov dword [esp + 0xf8], eax
fstp dword [esp + 0x110]
fld dword [esp + 0x50]
fadd dword [0x41bc3c]
fsub dword [esp + 0x18]
fst dword [esp + 0x18]
fstp dword [esp + 0xd0]
mov edx, dword [esp + 0x18]
fld st(2)
mov dword [esp + 0xd4], edx
fstp dword [esp + 0x68]
mov dword [esp + 0xd8], edx
fld st(3)
fadd dword [0x41bc3c]
fst dword [esp + 0x30]
fstp dword [esp + 0xa8]
mov ecx, dword [esp + 0x30]
fld st(1)
mov dword [esp + 0x118], ecx
fstp dword [esp + 0x48]
mov ecx, dword [ebp + 0x4c80]
fstp dword [esp + 0xf4]
fld st(2)
fsub dword [0x41bc3c]
fst dword [esp + 0x114]
fxch st(2)
fstp dword [esp + 0x6c]
fxch st(1)
fstp dword [esp + 0xac]
fstp dword [esp + 0x4c]
fld dword [esp + 0x24]
fmul dword [0x41bc8c]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xfc], eax
fstp dword [esp + 0x11c]
fld dword [esp + 0x18]
lea eax, [esp + 0xd0]
push eax
fadd dword [esp + 0x54]
lea eax, [esp + 0x114]
push eax
lea eax, [esp + 0xf8]
fstp dword [esp + 0xe4]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0xa0]
push eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x44]
push eax
push 0
push 0
push 4
call dword [edx + 0x38]
mov eax, dword [ebp + 0x4c90]
test ah, 1
jne 0x1a407b
test al, al
js 0x1a407b
mov esi, dword [esp + 0x178]
or al, 0x80
mov dword [ebp + 0x4c90], eax
cmp dword [esi + 0xb4], 0
jne 0x1a3f73
cmp dword [esi + 0xb8], 0
je 0x1a3f73
mov ecx, dword [0x4e73e0]
mov ecx, dword [ecx + 0x2520]
mov edx, dword [ecx]
call dword [edx + 0x124]
test byte [eax + 0x4c90], 0x40
je 0x1a3f73
mov ebx, dword [0x4e73e0]
push 0
push 0
add ebx, 0x3fe8
call fcn.000b3790
mov dword [esi + 0xb4], eax
mov eax, dword [esp + 0x178]
mov ebx, dword [eax + 0xb4]
xor ecx, ecx
test ebx, ebx
sete cl
mov ebp, ecx
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx]
call dword [edx + 0x14]
mov esi, eax
test esi, esi
je 0x1a407b
mov ecx, dword [0x4e73e0]
test byte [ecx + 0x2484], 0x20
je 0x1a4009
mov eax, dword [esi + 0x358]
mov edx, dword [esi + 0x154]
mov dword [esi + eax*4 + 0x158], edx
mov eax, 1
add dword [esi + 0x358], eax
mov dword [esi + 0x154], eax
mov ecx, dword [ecx + 0x60c4]
shl eax, cl
mov ecx, dword [esi + 0x8c]
and eax, 0xfff
or ah, 0x10
shl eax, 4
mov dword [ecx], eax
add dword [esi + 0x8c], 4
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0x1a4009
mov eax, esi
call fcn.000b5d70
test ebp, ebp
jne 0x1a401c
test ebx, ebx
je 0x1a401c
mov edx, dword [ebx + 0x10]
push ebp
push edx
push ebx
call fcn.000b27d0
mov eax, dword [0x4e73e0]
test byte [eax + 0x2484], 0x20
je 0x1a407b
or edx, 0xffffffff
add dword [esi + 0x358], edx
mov eax, dword [esi + 0x358]
mov ecx, dword [esi + eax*4 + 0x158]
cmp ecx, edx
jne 0x1a4074
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x154], edx
mov dword [ecx], 0x1fff0
add dword [esi + 0x8c], 4
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0x1a407b
mov eax, esi
call fcn.000b5d70
jmp 0x1a407b
mov eax, esi
call fcn.000b63b0
mov eax, dword [esp + 0x17c]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov ebp, ecx
sub ebp, eax
sub edx, ebx
cmp ebp, edx
mov esi, 1
jne 0x1a40bf
test al, 3
jne 0x1a40bf
test cl, 3
jne 0x1a40bf
test bl, 3
jne 0x1a40bf
mov ebp, dword [esp + 0x17c]
test byte [ebp + 8], 3
je 0x1a40c8
jmp 0x1a40c6
mov ebp, dword [esp + 0x17c]
xor esi, esi
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x164]
mov ecx, dword [ebx + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 1
push 0
push 2
push esi
push 0
push eax
push 0
call dword [edx + 0x28]
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 1
push 0
push 2
push esi
push 0
push eax
push 1
call dword [edx + 0x28]
mov eax, dword [ebx + 0x4ca8]
test eax, eax
je 0x1a4133
mov ecx, dword [ebx + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 1
push 0
push 4
push 0
push 0
push eax
push 2
call dword [edx + 0x28]
mov ecx, dword [ebx + 0x4c80]
mov eax, dword [ecx]
push 3
call dword [eax + 0x30]
mov ecx, dword [ebx + 0x4c80]
mov eax, dword [esp + 0x178]
mov edx, dword [ecx]
push 0
push 0
push 0
push 2
push esi
push 0
push eax
call dword [edx + 0x20]
mov ecx, dword [ebx + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x18a
call dword [edx + 0x14]
cmp esi, 1
mov eax, dword [esp + 0x174]
fild dword [eax]
mov cx, word [ebp + 8]
mov dx, word [ebp + 0xc]
mov word [esp + 0x1c], cx
fstp dword [esp + 0x80]
fild dword [eax + 4]
fstp dword [esp + 0x60]
fild dword [eax + 8]
fstp dword [esp + 0xa0]
fild dword [eax + 0xc]
mov eax, dword [esp + 0x170]
fstp dword [esp + 0x40]
fild dword [eax]
fstp dword [esp + 0x84]
fild dword [eax + 4]
fstp dword [esp + 0x64]
fild dword [eax + 8]
fstp dword [esp + 0xa4]
fild dword [eax + 0xc]
movzx eax, word [ebp]
mov word [esp + 0x18], ax
mov ax, word [ebp + 4]
fstp dword [esp + 0x44]
jne 0x1a423b
fld dword [esp + 0x80]
sar word [esp + 0x18], 2
fmul dword [0x41bca0]
sar word [esp + 0x1c], 2
fstp dword [esp + 0x80]
fld dword [esp + 0xa0]
fmul dword [0x41bca0]
fstp dword [esp + 0xa0]
fld dword [esp + 0x84]
fmul dword [0x41bca0]
fstp dword [esp + 0x84]
fld dword [esp + 0xa4]
fmul dword [0x41bca0]
fstp dword [esp + 0xa4]
mov ecx, dword [esp + 0x16c]
test byte [ecx + 0x244], 0x20
jne 0x1a4267
fld dword [esp + 0x64]
fadd dword [0x41bc3c]
fstp dword [esp + 0x64]
fld dword [esp + 0x44]
fadd dword [0x41bc3c]
fstp dword [esp + 0x44]
mov ecx, dword [ebx + 0x4c80]
mov ebx, dword [ecx]
push 0
lea ebp, [esp + 0x44]
push ebp
lea ebp, [esp + 0xa8]
push ebp
lea ebp, [esp + 0x6c]
push ebp
lea ebp, [esp + 0x90]
push ebp
push edx
mov edx, dword [esp + 0x34]
push edx
push eax
mov eax, dword [esp + 0x38]
push eax
push 2
call dword [ebx + 0x34]
cmp dword [esp + 0xc0], 0
mov ebp, dword [esp + 0x164]
jne 0x1a42d3
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.001b2690
jmp 0x1a48c1
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edi
push 0
call dword [edx + 0x28]
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 0
push 2
push 1
push 0
push edx
push 1
call dword [eax + 0x28]
mov edx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 1
push 2
push 1
push 0
push edx
push 2
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 0
push 1
push 2
push 1
push 0
push edx
push 3
call dword [eax + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 4
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0xc4]
mov edx, dword [ecx]
push 0
push 0
push 1
push 2
push 1
push 0
push eax
call dword [edx + 0x20]
mov ebx, edi
mov dword [esp + 0x80], 0
mov dword [esp + 0x60], 0
call fcn.001adea0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x1a43a7
fadd dword [0x41bc68]
fstp dword [esp + 0xa0]
cmp dword [edi + 0x2d0], 0
je 0x1a43c5
mov eax, dword [edi + 0x2e0]
add eax, dword [edi + 0x2d8]
jmp 0x1a4408
mov ecx, dword [edi + 0xdc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1a43f9
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1a43f9
test eax, 0x20000
je 0x1a43f9
mov edi, dword [edi + 0x11c]
cmp edi, 1
jae 0x1a43f5
mov eax, 1
jmp 0x1a4408
mov eax, edi
jmp 0x1a4408
mov ecx, dword [ecx + 8]
cmp ecx, 1
mov eax, 1
jb 0x1a4408
mov eax, ecx
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x1a441a
fadd dword [0x41bc68]
mov ebx, dword [esp + 0xc4]
fstp dword [esp + 0x40]
call fcn.001adea0
cmp dword [ebx + 0x2d0], 0
mov dword [esp + 0x1c], eax
je 0x1a444d
mov eax, dword [ebx + 0x2e0]
add eax, dword [ebx + 0x2d8]
xor edx, edx
div dword [ebx + 0x12c]
jmp 0x1a4460
mov eax, dword [ebx + 0x128]
cmp eax, 1
mov dword [esp + 0x24], 1
jb 0x1a4464
mov dword [esp + 0x24], eax
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x187
call dword [edx + 0x14]
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x84], eax
mov eax, dword [edi + 0x12c]
cmp eax, 1
jae 0x1a4498
mov eax, 1
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x1a44aa
fadd dword [0x41bc68]
fdivr dword [esp + 0x60]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xa4], ecx
fstp dword [esp + 0x64]
mov eax, dword [edi + 0x12c]
cmp eax, 1
jae 0x1a44d0
mov eax, 1
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x1a44e2
fadd dword [0x41bc68]
fdivr dword [esp + 0x40]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0xa0]
mov ecx, edx
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x110], eax
mov dword [esp + 0xec], edx
mov dword [esp + 0x10c], eax
mov dword [esp + 0xcc], ecx
fstp dword [esp + 0x44]
fld dword [esp + 0x20]
fmul dword [0x41bca0]
fld dword [esp + 0x60]
fadd st(1)
fstp dword [esp + 0xf0]
fadd dword [esp + 0x40]
fstp dword [esp + 0xd0]
mov eax, dword [edi + 0x12c]
cmp eax, 1
jae 0x1a455e
mov eax, 1
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x1a4570
fadd dword [0x41bc68]
fdivr dword [esp + 0x60]
fstp dword [esp + 0x60]
mov eax, dword [edi + 0x12c]
cmp eax, 1
jae 0x1a4588
mov eax, 1
test eax, eax
fld dword [esp + 0x14]
fadd dword [esp + 0x60]
mov dword [esp + 0x28], eax
fstp dword [esp + 0x60]
fild dword [esp + 0x28]
jge 0x1a45a6
fadd dword [0x41bc68]
fdivr dword [esp + 0x40]
push 0
lea eax, [esp + 0xd0]
push eax
mov ecx, dword [ebp + 0x4c80]
lea eax, [esp + 0x114]
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0xa0]
push eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x44]
push eax
push 0
push 0
push 2
fadd dword [esp + 0x4c]
fstp dword [esp + 0x78]
fld dword [esp + 0x58]
fmul dword [0x41c314]
fld dword [esp + 0x124]
fadd st(1)
fstp dword [esp + 0x124]
fadd dword [esp + 0x104]
fstp dword [esp + 0x104]
mov edx, dword [ecx]
call dword [edx + 0x38]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 1
push 1
push 2
push esi
push 0
push edi
push 0
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 0
push 0
push 1
push 1
push 2
push esi
push 0
push ebx
push 1
call dword [eax + 0x28]
mov eax, dword [ebp + 0x4ca8]
test eax, eax
je 0x1a468d
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0
push 1
push 0
push 4
push 0
push 0
push eax
push 2
call dword [edx + 0x28]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [ecx]
push 3
call dword [eax + 0x30]
mov ecx, dword [ebp + 0x4c80]
mov eax, dword [esp + 0x38]
mov edx, dword [ecx]
push 0
push 0
push 1
push 2
push esi
push 0
push eax
call dword [edx + 0x20]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
push 0x18a
call dword [edx + 0x14]
mov edi, dword [esp + 0x174]
fild dword [edi]
mov ecx, dword [esp + 0x34]
mov ebx, 1
fstp dword [esp + 0x80]
mov eax, dword [ecx + 0x12c]
cmp eax, 1
jb 0x1a46ed
mov ebx, eax
mov eax, dword [edi + 4]
xor edx, edx
div ebx
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x1a4706
fadd dword [0x41bc68]
fstp dword [esp + 0x60]
mov ebx, 1
fild dword [edi + 8]
fstp dword [esp + 0xa0]
mov eax, dword [ecx + 0x12c]
cmp eax, 1
jb 0x1a4726
mov ebx, eax
mov eax, dword [edi + 0xc]
xor edx, edx
div ebx
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x1a473f
fadd dword [0x41bc68]
mov edi, dword [esp + 0x170]
fstp dword [esp + 0x40]
fild dword [edi]
mov ebx, 1
fstp dword [esp + 0x84]
mov eax, dword [ecx + 0x12c]
cmp eax, 1
jb 0x1a4765
mov ebx, eax
mov eax, dword [edi + 4]
xor edx, edx
div ebx
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x1a477e
fadd dword [0x41bc68]
fstp dword [esp + 0x64]
mov ebx, 1
fild dword [edi + 8]
fstp dword [esp + 0xa4]
mov eax, dword [ecx + 0x12c]
cmp eax, 1
jb 0x1a479e
mov ebx, eax
mov eax, dword [edi + 0xc]
xor edx, edx
div ebx
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x1a47b7
fadd dword [0x41bc68]
mov edi, dword [esp + 0x17c]
fstp dword [esp + 0x44]
mov ecx, dword [ecx + 0x12c]
cmp ecx, 1
mov ax, word [edi]
mov word [esp + 0x18], ax
mov ebx, 1
jb 0x1a47dc
mov ebx, ecx
mov eax, dword [edi + 4]
xor edx, edx
div ebx
cmp ecx, 1
mov dx, word [edi + 8]
mov word [esp + 0x1c], dx
mov ebx, eax
jae 0x1a47f8
mov ecx, 1
mov eax, dword [edi + 0xc]
xor edx, edx
div ecx
cmp esi, 1
jne 0x1a4860
fld dword [esp + 0x80]
sar word [esp + 0x18], 2
fmul dword [0x41bca0]
sar word [esp + 0x1c], 2
fstp dword [esp + 0x80]
fld dword [esp + 0xa0]
fmul dword [0x41bca0]
fstp dword [esp + 0xa0]
fld dword [esp + 0x84]
fmul dword [0x41bca0]
fstp dword [esp + 0x84]
fld dword [esp + 0xa4]
fmul dword [0x41bca0]
fstp dword [esp + 0xa4]
mov ecx, dword [esp + 0x16c]
test byte [ecx + 0x244], 0x20
jne 0x1a488c
fld dword [esp + 0x64]
fadd dword [0x41bc3c]
fstp dword [esp + 0x64]
fld dword [esp + 0x44]
fadd dword [0x41bc3c]
fstp dword [esp + 0x44]
mov ecx, dword [ebp + 0x4c80]
mov edx, dword [ecx]
push 0
lea esi, [esp + 0x44]
push esi
lea esi, [esp + 0xa8]
push esi
lea esi, [esp + 0x6c]
push esi
lea esi, [esp + 0x90]
push esi
push eax
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
push ebx
push eax
push 2
call dword [edx + 0x34]
mov edi, dword [esp + 0x178]
mov ecx, dword [esp + 0x38]
push 1
mov dword [edi + 0x14c], ecx
push 0
mov ecx, 2
mov eax, ebp
call fcn.00108cb0
cmp dword [esp + 0x150], 0
je 0x1a48fb
push 0
push 0
push 0
push 2
push 0x4a
call fcn.0008dca0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x150
ret 0x1c
cmp eax, 2
jae 0x1a4918
add eax, 1
mov dword [ecx + 0x40], eax
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
push ebx
push edi
push ebp
push edx
mov ecx, esi
call fcn.001b2690
mov eax, dword [esp + 0x18]
push ebx
mov ebx, dword [esp + 0x17c]
push ebx
push ebp
push eax
mov ecx, esi
call fcn.001b2690
mov dword [ebx + 0x14c], edi
cmp dword [esp + 0x150], 0
mov esi, eax
je 0x1a4962
push 0
push 0
push 0
push 2
push 0x4a
call fcn.0008dca0
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x150
ret 0x1c