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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1029d13a
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x103fb8f8]
xor eax, esp
mov dword [esp + 0x270], eax
push ebx
push esi
push edi
mov eax, dword [0x103fb8f8]
xor eax, esp
push eax
lea eax, [esp + 0x288]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x3c], esi
mov edi, dword [ebp + 8]
lea ebx, [esi + 0xfc]
mov ecx, ebx
mov dword [esp + 0x28], ebx
call fcn.101e9c00
mov eax, dword [ebx]
lea edx, [esp + 0x10]
push edx
lea ecx, [ebx + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ecx]
push 0x10
push eax
mov dword [ecx + 4], eax
lea eax, [esp + 0x30]
push eax
call fcn.101e44c0
mov ecx, ebx
lea eax, [edi + 4]
mov dword [esp + 0x18], eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x18], 8
cmp dword [eax], 0
jne 0x101f3692
mov byte [esi + 0xf5], 0
jmp 0x101f54da
mov esi, dword [edi + 8]
mov edi, dword [edi + 0xc]
cmp esi, edi
je 0x101f3717
lea eax, [esi + 0x24]
mov ebx, ecx
mov dword [esp + 0x30], eax
jmp 0x101f36b0
push esi
lea ecx, [esp + 0x1c8]
call fcn.101da9f0
push eax
push dword [esp + 0x34]
mov ecx, ebx
mov dword [esp + 0x298], 0
call fcn.101ddaa0
mov ecx, eax
call fcn.101dd580
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x290], 0xffffffff
call fcn.101dc4a0
push dword [esp + 0x30]
mov ecx, ebx
call fcn.101ddaa0
mov ecx, dword [esp + 0x3c]
push eax
call fcn.101f2d00
add dword [esp + 0x30], 0x34
add esi, 0x34
cmp esi, edi
jne 0x101f36b0
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esp + 0x64], eax
mov edi, dword [eax]
cmp edi, eax
je 0x101f391a
jmp 0x101f3730
mov ebx, dword [edi + 0x2c]
mov esi, dword [edi + 0x28]
mov dword [esp + 0x4c], ebx
cmp esi, ebx
je 0x101f3910
push esi
lea eax, [esp + 0x20]
push eax
call fcn.101eee30
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx]
cmp eax, ecx
jne 0x101f37d0
mov eax, dword [ecx]
lea ecx, [esp + 0x37]
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], esi
push ecx
push 0x1041d78b
push dword [eax + 4]
mov ecx, edx
mov dword [esp + 0x48], eax
push eax
call fcn.101cc910
mov edx, dword [esp + 0x28]
mov ecx, 0x1c71c70
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x101f3ab4
lea ecx, [eax + 1]
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov eax, dword [ecx + 4]
mov dword [eax], ecx
mov ecx, edx
mov eax, dword [edx]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [esp + 0x80]
push eax
call fcn.101ce450
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + 0x54]
lea edx, [edi + 0x34]
add eax, 0x50
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
cmp edx, ecx
jae 0x101f387c
mov ebx, dword [eax]
cmp ebx, edx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x4c]
ja 0x101f387c
sub edx, dword [eax]
sar edx, 2
mov dword [esp + 0x20], edx
mov edx, dword [eax + 8]
cmp ecx, edx
jne 0x101f3866
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x101f3862
sub ecx, dword [esp + 0x30]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x101f3a31
sub edx, dword [esp + 0x30]
inc ecx
sar edx, 2
mov eax, 0x3fffffff
mov dword [esp + 0x10], ecx
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x101f384d
xor edx, edx
jmp 0x101f384f
add edx, ecx
cmp edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmovb edx, dword [esp + 0x10]
push edx
call fcn.100f4240
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
je 0x101f38f9
mov eax, dword [esp + 0x20]
mov eax, dword [edx + eax*4]
jmp 0x101f38f3
mov edx, dword [eax + 8]
cmp ecx, edx
jne 0x101f38e6
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
mov eax, dword [esp + 0x14]
jae 0x101f38e6
mov eax, dword [eax]
sub ecx, eax
mov dword [esp + 0x10], eax
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x101f3a31
sub edx, dword [esp + 0x10]
inc ecx
sar edx, 2
mov eax, 0x3fffffff
mov dword [esp + 0x38], ecx
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x101f38cd
xor edx, edx
jmp 0x101f38cf
add edx, ecx
cmp edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmovb edx, dword [esp + 0x38]
push edx
call fcn.100f4240
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x101f38f9
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
add dword [eax + 4], 4
add esi, 4
mov ecx, dword [esp + 0x28]
cmp esi, ebx
jne 0x101f3742
mov eax, dword [esp + 0x64]
mov edi, dword [edi]
cmp edi, eax
jne 0x101f3730
push 0
push 0
lea ecx, [esp + 0x110]
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
call fcn.101e0a30
mov dword [esp + 0x108], eax
mov dword [esp + 0x290], 1
mov dword [esp + 0x110], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x110]
lea eax, [esp + 0x10]
mov byte [esp + 0x290], 2
push eax
push 0x10
push 0
lea eax, [esp + 0x30]
mov dword [esp + 0x130], 0x3f800000
push eax
mov dword [esp + 0x124], 0
call fcn.101e3d70
mov dword [esp + 0x11c], 7
mov dword [esp + 0x120], 8
movzx eax, byte [0x1041d78c]
lea ecx, [esp + 0x108]
mov ebx, dword [esp + 0x18]
push eax
push ebx
lea eax, [esp + 0x8c]
mov dword [esp + 0x298], 3
push eax
call fcn.101ce830
push 8
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
call fcn.10257206
add esp, 4
test eax, eax
jne 0x101f3a3c
call dword [0x102ab0c4]
push str.vector_T__too_long
call dword [0x102ab0c0]
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0xa4]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [esp + 0xa4]
mov dword [eax], ecx
mov edi, dword [esp + 0x28]
lea eax, [esp + 0x10]
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x298], 4
call fcn.101eee30
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
cmp eax, ecx
jne 0x101f3ae7
mov esi, dword [ecx]
lea eax, [esp + 0x37]
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ebx
push eax
push 0x1041d78b
push dword [esi + 4]
mov ecx, edi
push esi
call fcn.101cc910
mov edx, eax
mov ecx, 0x1c71c70
mov eax, dword [edi + 4]
sub ecx, eax
cmp ecx, 1
jae 0x101f3abf
push str.list_T__too_long
call dword [0x102ab0c0]
inc eax
mov ecx, edi
mov dword [edi + 4], eax
mov dword [esi + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [edi]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [esp + 0x80]
push eax
call fcn.101ce450
mov eax, dword [esp + 0x78]
add eax, 0x34
lea ecx, [esp + 0xa4]
push eax
call fcn.101f2e80
xor esi, esi
xor eax, eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x94], eax
mov byte [esp + 0x290], 5
jmp 0x101f3b30
cmp dword [esp + 0xb4], 0
mov byte [esp + 0x37], 0
je 0x101f4113
jmp 0x101f3b54
mov esi, dword [esp + 0x40]
lea eax, [esp + 0x244]
push eax
lea ecx, [esp + 0xa8]
call fcn.101e9440
mov ebx, dword [eax]
test ebx, ebx
je 0x101f3b70
mov ebx, dword [ebx]
mov edx, dword [eax + 8]
mov eax, edx
mov ecx, dword [ebx + 8]
and edx, 3
shr eax, 2
dec ecx
and ecx, eax
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, edi
lea eax, [eax + edx*4]
push eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x24]
push eax
call fcn.101eee30
mov eax, dword [edi]
mov ebx, dword [esp + 0x20]
cmp ebx, eax
jne 0x101f3c0f
mov ebx, dword [eax]
lea eax, [esp + 0x4b]
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ecx
push eax
push 0x1041d78b
push dword [ebx + 4]
mov ecx, edi
push ebx
call fcn.101cc910
mov edx, eax
mov ecx, 0x1c71c70
mov eax, dword [edi + 4]
sub ecx, eax
cmp ecx, 1
jb 0x101f3ab4
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov ecx, edi
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [edi]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.101ce450
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x20], ebx
dec dword [esp + 0xb4]
jne 0x101f3c25
mov dword [esp + 0xb0], 0
jmp 0x101f3c2c
inc dword [esp + 0xb0]
mov edx, dword [esp + 0x30]
lea eax, [ebx + 0x34]
cmp eax, edx
jae 0x101f3cd5
cmp esi, eax
ja 0x101f3cd5
mov ecx, dword [esp + 0x1c]
mov edi, eax
sub edi, esi
sar edi, 2
cmp edx, ecx
jne 0x101f3cc5
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, 1
jae 0x101f3cc5
sub edx, esi
mov eax, 0x3fffffff
sar edx, 2
sub eax, edx
cmp eax, 1
jb 0x101f3a31
inc edx
sub ecx, esi
sar ecx, 2
mov eax, 0x3fffffff
mov dword [esp + 0x10], edx
mov edx, ecx
shr edx, 1
sub eax, edx
cmp eax, ecx
jae 0x101f3c90
xor ecx, ecx
jmp 0x101f3c92
add ecx, edx
cmp ecx, dword [esp + 0x10]
cmovb ecx, dword [esp + 0x10]
push ecx
lea ecx, [esp + 0x90]
call fcn.100f4240
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], esi
test edx, edx
je 0x101f3d55
mov eax, dword [esi + edi*4]
jmp 0x101f3d53
mov ecx, dword [esp + 0x1c]
cmp edx, ecx
jne 0x101f3d4d
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, 1
jae 0x101f3d4a
sub edx, esi
mov eax, 0x3fffffff
sar edx, 2
sub eax, edx
cmp eax, 1
jb 0x101f3a31
sub ecx, esi
lea edi, [edx + 1]
sar ecx, 2
mov eax, 0x3fffffff
mov edx, ecx
shr edx, 1
sub eax, edx
cmp eax, ecx
jae 0x101f3d19
xor ecx, ecx
jmp 0x101f3d1b
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [esp + 0x90]
call fcn.100f4240
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x40], eax
lea eax, [ebx + 0x34]
test edx, edx
je 0x101f3d55
mov eax, dword [eax]
mov dword [edx], eax
mov eax, dword [ebx + 0x2c]
add edx, 4
mov edi, dword [ebx + 0x28]
mov dword [esp + 0x90], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x58], eax
cmp edi, eax
je 0x101f4101
jmp 0x101f3d80
mov eax, dword [edi]
lea ecx, [esp + 0x108]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.101eb970
mov eax, dword [esp + 0xb8]
xor edx, edx
mov ecx, dword [esp + 0xbc]
cmp eax, ecx
je 0x101f3dc2
mov eax, dword [eax]
inc edx
cmp eax, ecx
jne 0x101f3db3
test edx, edx
jne 0x101f40f4
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x68]
mov ecx, esi
push eax
call fcn.101eee30
mov ecx, dword [esi]
mov eax, dword [esp + 0x64]
cmp eax, ecx
jne 0x101f3e53
lea eax, [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [ecx]
lea ecx, [esp + 0x4b]
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x68], eax
push ecx
push 0x1041d78b
push dword [eax + 4]
mov ecx, esi
push eax
call fcn.101cc910
mov edx, eax
mov ecx, 0x1c71c70
mov eax, dword [esi + 4]
sub ecx, eax
cmp ecx, 1
jb 0x101f3ab4
lea ecx, [eax + 1]
mov eax, dword [esp + 0x64]
mov dword [esi + 4], ecx
mov ecx, esi
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [esi]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [esp + 0x104]
push eax
call fcn.101ce450
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x64], eax
mov ecx, dword [eax + 0x54]
sub ecx, dword [eax + 0x50]
lea eax, [esp + 0x44]
and ecx, 0xfffffffc
cmp ecx, 4
mov ecx, esi
jne 0x101f40df
push eax
lea eax, [esp + 0x50]
push eax
call fcn.101eee30
mov ecx, dword [esi]
mov eax, dword [esp + 0x4c]
cmp eax, ecx
jne 0x101f3ef2
lea eax, [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [ecx]
lea ecx, [esp + 0x4b]
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x50], eax
push ecx
push 0x1041d78b
push dword [eax + 4]
mov ecx, esi
push eax
call fcn.101cc910
mov edx, eax
mov ecx, 0x1c71c70
mov eax, dword [esi + 4]
sub ecx, eax
cmp ecx, 1
jb 0x101f3ab4
lea ecx, [eax + 1]
mov eax, dword [esp + 0x4c]
mov dword [esi + 4], ecx
mov ecx, esi
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [esi]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.101ce450
mov eax, dword [esp + 0x84]
mov dword [esp + 0x4c], eax
mov esi, dword [eax + 0x50]
lea ecx, [eax + 0x50]
mov eax, dword [ecx + 4]
mov edx, dword [ebx + 0x34]
mov dword [esp + 0x50], edx
mov dword [esp + 0x2c], ecx
cmp esi, eax
je 0x101f3f60
lea ebx, [ebx]
cmp dword [esi], edx
je 0x101f3f1d
add esi, 4
cmp esi, eax
jne 0x101f3f10
jmp 0x101f3f60
cmp esi, eax
je 0x101f3f60
lea ecx, [esi + 4]
mov ebx, eax
sub ebx, ecx
xor edx, edx
add ebx, 3
shr ebx, 2
cmp ecx, eax
cmova ebx, edx
mov dword [esp + 0x10], ebx
test ebx, ebx
mov ebx, dword [esp + 0x20]
je 0x101f3f5c
mov ebx, dword [ecx]
cmp ebx, dword [esp + 0x50]
je 0x101f3f4e
mov dword [esi], ebx
add esi, 4
inc edx
add ecx, 4
cmp edx, dword [esp + 0x10]
jne 0x101f3f41
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
cmp esi, dword [ecx]
jne 0x101f3f77
cmp eax, dword [ecx + 4]
jne 0x101f3f77
call dword [0x102ab124]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
jmp 0x101f3f9d
cmp esi, eax
je 0x101f3fa0
mov ecx, dword [ecx + 4]
sub ecx, eax
and ecx, 0xfffffffc
push ecx
push eax
push esi
mov dword [esp + 0x5c], ecx
call dword [0x102ab17c]
mov eax, dword [esp + 0x5c]
add esp, 0xc
mov ecx, dword [esp + 0x2c]
add eax, esi
mov dword [ecx + 4], eax
mov ecx, dword [ebx + 0x60]
lea eax, [esp + 0x44]
cmp eax, ecx
jae 0x101f402d
mov edx, dword [ebx + 0x5c]
cmp edx, eax
ja 0x101f402d
sub eax, edx
mov edx, dword [ebx + 0x64]
sar eax, 2
mov dword [esp + 0x2c], eax
cmp ecx, edx
jne 0x101f401e
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x101f401a
sub ecx, dword [ebx + 0x5c]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x101f3a31
sub edx, dword [ebx + 0x5c]
inc ecx
sar edx, 2
mov eax, 0x3fffffff
mov dword [esp + 0x50], ecx
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x101f4006
xor edx, edx
jmp 0x101f4008
add edx, ecx
cmp edx, dword [esp + 0x50]
lea ecx, [ebx + 0x5c]
cmovb edx, dword [esp + 0x50]
push edx
call fcn.100f4240
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x60]
mov edx, dword [ebx + 0x5c]
test ecx, ecx
je 0x101f4095
mov eax, dword [edx + eax*4]
jmp 0x101f4093
mov edx, dword [ebx + 0x64]
cmp ecx, edx
jne 0x101f4088
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x101f4088
sub ecx, dword [ebx + 0x5c]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x101f3a31
sub edx, dword [ebx + 0x5c]
inc ecx
sar edx, 2
mov eax, 0x3fffffff
mov dword [esp + 0x50], ecx
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x101f4074
xor edx, edx
jmp 0x101f4076
add edx, ecx
cmp edx, dword [esp + 0x50]
lea ecx, [ebx + 0x5c]
cmovb edx, dword [esp + 0x50]
push edx
call fcn.100f4240
mov ecx, dword [ebx + 0x60]
test ecx, ecx
je 0x101f4095
mov eax, dword [esp + 0x44]
mov dword [ecx], eax
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x44]
add dword [ebx + 0x60], 4
push eax
call fcn.101ddaa0
add eax, 0x24
lea ecx, [esp + 0xa4]
push eax
call fcn.101f2e80
movzx eax, byte [0x1041d78c]
lea ecx, [esp + 0x108]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x130]
push eax
call fcn.101ce830
mov byte [esp + 0x37], 1
jmp 0x101f40f4
push dword [ebx + 0x34]
push eax
call fcn.101ddaa0
add eax, 0x40
push eax
call fcn.101d7370
add esp, 8
add edi, 4
cmp edi, dword [esp + 0x58]
jne 0x101f3d80
cmp dword [esp + 0xb4], 0
mov edi, dword [esp + 0x28]
jne 0x101f3b50
mov ebx, dword [edi]
mov dword [esp + 0x14], 0
mov dword [esp + 0x60], ebx
mov edi, dword [ebx]
mov dword [esp + 0x10], edi
cmp edi, ebx
je 0x101f42fd
nop
lea eax, [edi + 0x34]
push eax
mov dword [esp + 0x54], eax
lea ecx, [esp + 0x10c]
lea eax, [esp + 0xc8]
push eax
call fcn.101eb970
mov eax, dword [esp + 0xc4]
xor edx, edx
mov ecx, dword [esp + 0xc8]
cmp eax, ecx
je 0x101f426f
mov eax, dword [eax]
inc edx
cmp eax, ecx
jne 0x101f4164
test edx, edx
je 0x101f426f
mov esi, dword [edi + 0x28]
xor edx, edx
mov ecx, dword [edi + 0x2c]
sub ecx, esi
add ecx, 3
shr ecx, 2
cmp esi, dword [edi + 0x2c]
cmova ecx, edx
mov dword [esp + 0x68], ecx
test ecx, ecx
je 0x101f426f
mov ebx, dword [esp + 0x28]
mov edi, edx
jmp 0x101f41a0
mov eax, dword [esi]
lea ecx, [esp + 0x108]
mov dword [esp + 0x58], eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.101eb970
mov eax, dword [esp + 0x78]
xor edx, edx
mov ecx, dword [esp + 0x7c]
cmp eax, ecx
je 0x101f41df
mov edi, edi
mov eax, dword [eax]
inc edx
cmp eax, ecx
jne 0x101f41d0
test edx, edx
jne 0x101f4259
cmp dword [esp + 0x14], 0
je 0x101f422e
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.101ddaa0
mov ecx, dword [eax + 0x44]
sub ecx, dword [eax + 0x40]
sar ecx, 2
cmp ecx, dword [esp + 0x38]
jl 0x101f4228
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.101ddaa0
mov ecx, dword [eax + 0x44]
sub ecx, dword [eax + 0x40]
sar ecx, 2
cmp ecx, dword [esp + 0x38]
jne 0x101f4259
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x14]
jae 0x101f4259
jmp 0x101f4232
mov eax, dword [esp + 0x2c]
jmp 0x101f4232
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
mov ecx, ebx
lea eax, [esp + 0x2c]
push eax
call fcn.101ddaa0
mov ecx, dword [eax + 0x44]
sub ecx, dword [eax + 0x40]
mov eax, dword [esp + 0x50]
sar ecx, 2
mov dword [esp + 0x38], ecx
mov eax, dword [eax]
mov dword [esp + 0x24], eax
inc edi
add esi, 4
cmp edi, dword [esp + 0x68]
jne 0x101f41a0
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x60]
mov edi, dword [edi]
mov dword [esp + 0x10], edi
cmp edi, ebx
jne 0x101f4130
cmp dword [esp + 0x14], 0
je 0x101f42fd
mov edi, dword [esp + 0x28]
lea eax, [esp + 0x24]
push eax
mov ecx, edi
call fcn.101ddaa0
mov esi, eax
mov ecx, edi
lea eax, [esp + 0x14]
push dword [esi + 0x24]
push eax
call fcn.101ddaa0
add eax, 0x40
push eax
call fcn.101d7370
add esp, 8
lea eax, [esp + 0x14]
lea ecx, [esi + 0x4c]
push eax
call fcn.100f7480
movzx eax, byte [0x1041d78c]
lea ecx, [esp + 0x108]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.101ce830
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0xa8]
call fcn.101f2e80
mov esi, dword [esp + 0x40]
jmp 0x101f3b30
cmp byte [esp + 0x37], 0
mov edi, dword [esp + 0x28]
je 0x101f4311
mov esi, dword [esp + 0x40]
jmp 0x101f3b30
mov ebx, dword [esp + 0x18]
mov ecx, edi
push ebx
call fcn.101ddaa0
mov ecx, dword [esp + 0x3c]
push eax
call fcn.101ea770
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
push ebx
mov ecx, edi
mov byte [esp + 0x294], 7
call fcn.101ddaa0
lea ecx, [esp + 0xe4]
mov eax, dword [eax + 0x7c]
inc eax
push eax
call fcn.101f5a00
push ebx
mov ecx, edi
call fcn.101ddaa0
lea ecx, [esp + 0xb8]
mov eax, dword [eax + 0x7c]
inc eax
push eax
call fcn.101f5a00
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
push ebx
mov ecx, edi
mov byte [esp + 0x294], 8
call fcn.101ddaa0
lea ecx, [esp + 0xd8]
mov eax, dword [eax + 0x7c]
inc eax
push eax
call fcn.101f5b10
push ebx
mov ecx, edi
mov dword [esp + 0x3c], 0
call fcn.101ddaa0
mov eax, dword [eax + 0x7c]
inc eax
test eax, eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x20], eax
jle 0x101f45e0
mov ecx, dword [esp + 0xe4]
mov ebx, eax
sub ecx, eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x58], ecx
push dword [esp + 0x18]
lea esi, [ecx + ebx]
mov ecx, edi
mov dword [esp + 0x6c], esi
call fcn.101ddaa0
mov ecx, esi
mov eax, dword [eax + 0x74]
inc eax
push eax
call fcn.101f5b10
mov esi, dword [esp + 0x18]
mov ecx, edi
push esi
call fcn.101ddaa0
mov ecx, ebx
mov eax, dword [eax + 0x74]
inc eax
push eax
call fcn.101f5b10
mov ebx, dword [esp + 0xd8]
mov ecx, edi
add ebx, dword [esp + 0x2c]
push esi
mov dword [esp + 0x64], ebx
call fcn.101ddaa0
push 0
mov ecx, ebx
mov esi, dword [eax + 0x74]
inc esi
push esi
mov dword [esp + 0x2c], esi
call fcn.101f5bf0
xor ebx, ebx
test esi, esi
je 0x101f44b3
mov edi, esi
mov edi, edi
mov eax, dword [esp + 0x60]
mov edx, ebx
mov ecx, ebx
shr edx, 5
and ecx, 0x1f
inc ebx
mov esi, dword [eax]
mov eax, 1
shl eax, cl
or dword [esi + edx*4], eax
cmp ebx, edi
jb 0x101f4490
mov edi, dword [esp + 0x28]
push dword [esp + 0x18]
mov ecx, edi
mov dword [esp + 0x14], 0
call fcn.101ddaa0
mov eax, dword [eax + 0x74]
inc eax
test eax, eax
jle 0x101f45ac
xor esi, esi
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x68]
xor edx, edx
mov ebx, dword [eax]
mov eax, dword [ebx + esi + 0xc]
add ebx, esi
mov esi, dword [ebx]
test eax, eax
je 0x101f4517
mov edx, eax
test edx, edx
jns 0x101f450c
neg eax
je 0x101f450c
or ecx, 0xffffffff
mov eax, 0xfffffffc
sub ecx, edx
shr ecx, 5
shl ecx, 2
sub eax, ecx
add esi, eax
jmp 0x101f4514
mov eax, edx
shr eax, 5
lea esi, [esi + eax*4]
and edx, 0x1f
push edx
push esi
push 0
push dword [ebx]
lea eax, [esp + 0xe0]
mov ecx, ebx
push eax
call fcn.101ebc20
mov eax, dword [esp + 0x14]
xor edx, edx
mov ebx, dword [eax]
add ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx]
test eax, eax
je 0x101f456c
mov edx, eax
test edx, edx
jns 0x101f4561
neg eax
je 0x101f4561
or ecx, 0xffffffff
mov eax, 0xfffffffc
sub ecx, edx
shr ecx, 5
shl ecx, 2
sub eax, ecx
add esi, eax
jmp 0x101f4569
mov eax, edx
shr eax, 5
lea esi, [esi + eax*4]
and edx, 0x1f
push edx
push esi
push 0
push dword [ebx]
lea eax, [esp + 0x138]
mov ecx, ebx
push eax
call fcn.101ebc20
mov ebx, dword [esp + 0x10]
mov ecx, edi
mov esi, dword [esp + 0x1c]
inc ebx
push dword [esp + 0x18]
add esi, 0x10
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], esi
call fcn.101ddaa0
mov eax, dword [eax + 0x74]
inc eax
cmp ebx, eax
jl 0x101f44d8
mov esi, dword [esp + 0x38]
mov ecx, edi
mov ebx, dword [esp + 0x14]
inc esi
push dword [esp + 0x18]
add dword [esp + 0x30], 0x10
add ebx, 0xc
mov dword [esp + 0x3c], esi
mov dword [esp + 0x18], ebx
call fcn.101ddaa0
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 0x7c]
inc eax
cmp esi, eax
jl 0x101f4427
mov edx, dword [edi]
mov eax, dword [edx]
cmp eax, edx
je 0x101f462f
jmp 0x101f45f0
mov ecx, dword [eax + 0x88]
mov esi, dword [eax + 0x80]
inc esi
shl ecx, 4
add ecx, dword [esp + 0xd8]
mov edi, esi
and esi, 0x1f
shr edi, 5
mov dword [esp + 0x24], esi
mov esi, 1
mov ebx, dword [ecx]
mov ecx, dword [esp + 0x24]
shl esi, cl
not esi
and dword [ebx + edi*4], esi
mov eax, dword [eax]
cmp eax, edx
jne 0x101f45f0
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
cmp ebx, dword [esp + 0x30]
je 0x101f47b3
lea ecx, [ecx]
mov eax, dword [ebx]
mov ecx, edi
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
call fcn.101ddaa0
mov dword [esp + 0x38], eax
mov esi, dword [eax + 0x18]
mov edi, dword [eax + 0x1c]
cmp esi, edi
je 0x101f4791
mov ebx, dword [esp + 0x28]
add eax, 0x34
mov dword [esp + 0x68], eax
nop
mov eax, dword [esi]
mov ecx, ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
call fcn.101ddaa0
mov dword [esp + 0x60], eax
lea ecx, [esp + 0x244]
mov eax, dword [esp + 0x3c]
add eax, 0x1c0
push eax
call dword [0x102abb10]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
cmp ecx, dword [eax + 0x28]
jne 0x101f46b7
mov ecx, dword [esp + 0x3c]
add ecx, 0x1d0
push ecx
jmp 0x101f46c6
cmp ecx, dword [eax + 0x2c]
jne 0x101f46d3
mov eax, dword [esp + 0x3c]
add eax, 0x1e0
push eax
lea ecx, [esp + 0x248]
call dword [0x102abd44]
sub esp, 0x10
lea eax, [esp + 0x254]
mov ecx, esp
push eax
call dword [0x102abb10]
push dword [esp + 0x70]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
push eax
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x104]
push eax
lea eax, [esp + 0x278]
push eax
call fcn.101f5cd0
mov ecx, dword [esp + 0x68]
push eax
mov byte [esp + 0x294], 9
call fcn.101f3110
lea ecx, [esp + 0x27c]
mov byte [esp + 0x290], 0xb
call dword [0x102abb08]
lea ecx, [esp + 0x278]
mov byte [esp + 0x290], 0xa
call dword [0x102abb08]
cmp dword [esp + 0x268], 0
mov byte [esp + 0x290], 8
je 0x101f4782
lea ecx, [esp + 0x268]
call dword [0x102ab124]
push dword [esp + 0x268]
call fcn.1025720c
add esp, 4
add esi, 4
cmp esi, edi
jne 0x101f4670
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x28]
add ebx, 4
mov dword [esp + 0x40], ebx
cmp ebx, dword [esp + 0x30]
jne 0x101f4640
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x20], esi
jmp 0x101f47ba
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
push dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
mov byte [esp + 0x294], 0xd
call fcn.101ddaa0
lea ecx, [esp + 0x78]
mov edi, dword [eax + 0x74]
inc edi
push edi
call fcn.101f57c0
test edi, edi
je 0x101f4829
mov ecx, edi
xor eax, eax
mov edi, dword [esp + 0x78]
rep stosd dword es:[edi], eax
push dword [esp + 0x18]
mov ecx, ebx
call fcn.101ddaa0
lea ecx, [esp + 0xc4]
mov edi, dword [eax + 0x7c]
inc edi
push edi
mov dword [esp + 0x28], edi
call fcn.101f57c0
test edi, edi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x1c], edi
je 0x101f4867
mov ecx, dword [esp + 0x24]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0xc4]
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x14], 0
call fcn.101ddaa0
mov eax, dword [eax + 0x7c]
inc eax
test eax, eax
jle 0x101f4922
mov eax, dword [esp + 0xe4]
sub eax, esi
mov dword [esp + 0x24], eax
push dword [esp + 0x18]
mov ecx, ebx
xor esi, esi
call fcn.101ddaa0
mov eax, dword [eax + 0x74]
inc eax
test eax, eax
jle 0x101f48f6
xor edi, edi
lea ebx, [ebx]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + eax]
mov eax, dword [edi + eax + 0xc]
cmp eax, dword [ecx]
jle 0x101f48c9
mov dword [ecx], eax
mov eax, dword [edx]
mov ecx, dword [esp + 0x78]
mov eax, dword [edi + eax + 0xc]
cmp eax, dword [ecx + esi*4]
jle 0x101f48db
mov dword [ecx + esi*4], eax
push dword [esp + 0x18]
mov ecx, ebx
inc esi
add edi, 0x10
call fcn.101ddaa0
mov eax, dword [eax + 0x74]
inc eax
cmp esi, eax
jl 0x101f48b0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
add edi, 4
push dword [esp + 0x18]
add dword [esp + 0x24], 0xc
inc esi
mov ecx, ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], edi
call fcn.101ddaa0
mov eax, dword [eax + 0x7c]
inc eax
cmp esi, eax
jl 0x101f4893
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
push dword [esp + 0x18]
mov ecx, ebx
mov byte [esp + 0x294], 0xf
call fcn.101ddaa0
lea ecx, [esp + 0x98]
mov esi, dword [eax + 0x74]
inc esi
push esi
call fcn.101f57c0
test esi, esi
je 0x101f4999
mov edi, dword [esp + 0x98]
mov ecx, esi
xor eax, eax
rep stosd dword es:[edi], eax
push dword [esp + 0x18]
mov ecx, ebx
call fcn.101ddaa0
lea ecx, [esp + 0xf0]
mov esi, dword [eax + 0x7c]
inc esi
push esi
call fcn.101f57c0
test esi, esi
je 0x101f49c6
mov edi, dword [esp + 0xf0]
mov ecx, esi
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebx]
mov esi, dword [edi]
cmp esi, edi
je 0x101f4a3c
mov ebx, dword [esp + 0x98]
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x80]
cdq
sub eax, edx
sar eax, 1
cmp eax, dword [ebx + ecx*4]
jle 0x101f49eb
mov dword [ebx + ecx*4], eax
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x80]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x24], eax
cmp eax, dword [ebx + ecx*4 + 4]
jle 0x101f4a17
inc ecx
push ecx
lea ecx, [esp + 0x9c]
call fcn.101ddc60
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
push dword [esi + 0x88]
lea ecx, [esp + 0xf4]
call fcn.101ddc60
mov ecx, dword [esi + 0x7c]
cmp ecx, dword [eax]
jle 0x101f4a32
mov dword [eax], ecx
mov esi, dword [esi]
cmp esi, edi
jne 0x101f49d5
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x13c]
call fcn.10028f20
lea ecx, [esp + 0x130]
call fcn.10028f20
mov esi, dword [esp + 0x18]
mov ecx, ebx
push 0
push esi
mov byte [esp + 0x298], 0x11
call fcn.101ddaa0
mov eax, dword [eax + 0x74]
push eax
lea eax, [esp + 0x144]
push eax
call fcn.101d6430
add esp, 0xc
mov ecx, ebx
push 0
push esi
call fcn.101ddaa0
mov eax, dword [eax + 0x7c]
push eax
lea eax, [esp + 0x138]
push eax
call fcn.101d6430
mov esi, dword [esp + 0x48]
add esp, 0xc
mov ecx, ebx
push 0
push dword [esp + 0x1c]
lea edi, [esi + 0x120]
mov dword [esp + 0x38], edi
call fcn.101ddaa0
mov eax, dword [eax + 0x74]
inc eax
push eax
push edi
call fcn.101d6430
add esp, 0xc
add esi, 0x12c
mov ecx, ebx
mov dword [esp + 0x24], esi
push 0
push dword [esp + 0x1c]
call fcn.101ddaa0
mov eax, dword [eax + 0x7c]
inc eax
push eax
push esi
call fcn.101d6430
add esp, 0xc
mov dword [esp + 0x40], 0x10
mov ecx, ebx
push dword [esp + 0x18]
call fcn.101ddaa0
cmp dword [eax + 0x74], 0
jle 0x101f4b69
xor esi, esi
push esi
mov ecx, edi
call fcn.101ddc60
mov ecx, dword [esp + 0x40]
push esi
mov dword [eax], ecx
lea ecx, [esp + 0x7c]
call fcn.101ddc60
mov ecx, dword [esp + 0x40]
push esi
mov eax, dword [eax]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x140]
call fcn.101ddc60
mov ecx, dword [esp + 0x40]
push esi
mov dword [eax], ecx
lea ecx, [esp + 0x9c]
call fcn.101ddc60
mov ecx, dword [esp + 0x40]
inc esi
push dword [esp + 0x18]
add ecx, dword [eax]
mov dword [esp + 0x44], ecx
mov ecx, ebx
call fcn.101ddaa0
cmp esi, dword [eax + 0x74]
jl 0x101f4b05
mov esi, dword [esp + 0x24]
push dword [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x18], 0x10
call fcn.101ddaa0
cmp dword [eax + 0x7c], 0
jle 0x101f4beb
xor edi, edi
push edi
mov ecx, esi
call fcn.101ddc60
mov ecx, dword [esp + 0x14]
push edi
mov dword [eax], ecx
lea ecx, [esp + 0xc8]
call fcn.101ddc60
mov ecx, dword [esp + 0x14]
push edi
mov eax, dword [eax]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x134]
call fcn.101ddc60
mov ecx, dword [esp + 0x14]
push edi
mov dword [eax], ecx
lea ecx, [esp + 0xf4]
call fcn.101ddc60
mov ecx, dword [esp + 0x14]
inc edi
push dword [esp + 0x18]
add ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ecx, ebx
call fcn.101ddaa0
cmp edi, dword [eax + 0x7c]
jl 0x101f4b84
mov edi, dword [esp + 0x30]
push dword [esp + 0x18]
mov ecx, ebx
call fcn.101ddaa0
mov ecx, edi
mov eax, dword [eax + 0x74]
push eax
call fcn.101ddc60
mov ecx, dword [esp + 0x40]
push dword [esp + 0x18]
mov dword [eax], ecx
mov ecx, ebx
call fcn.101ddaa0
mov ecx, esi
mov eax, dword [eax + 0x7c]
push eax
call fcn.101ddc60
push dword [esp + 0x18]
mov esi, dword [esp + 0x18]
mov ecx, ebx
mov dword [eax], esi
call fcn.101ddaa0
lea ecx, [esp + 0x78]
mov eax, dword [eax + 0x74]
push eax
call fcn.101ddc60
mov ecx, dword [esp + 0x40]
push dword [esp + 0x18]
add ecx, 0x10
mov eax, dword [eax]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0xd0], eax
mov ecx, ebx
call fcn.101ddaa0
lea ecx, [esp + 0xc4]
mov eax, dword [eax + 0x7c]
push eax
call fcn.101ddc60
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax]
add eax, 2
lea eax, [esi + eax*8]
mov dword [ecx + 0xd4], eax
lea eax, [esp + 0x20]
push eax
mov ecx, ebx
call fcn.101e9400
lea eax, [esp + 0x4c]
mov ecx, ebx
push eax
call fcn.101eb740
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x24]
call fcn.101dd850
test al, al
je 0x101f4dde
lea esp, [esp]
lea ecx, [esp + 0x20]
call fcn.101dded0
mov edi, eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x1c], edi
mov esi, dword [edi + 0x78]
lea eax, [esi + 1]
push eax
mov dword [esp + 0x28], eax
call fcn.101ddc60
mov ebx, eax
lea ecx, [esp + 0x13c]
mov eax, dword [edi + 0x70]
push esi
mov dword [esp + 0x3c], eax
call fcn.101ddc60
push esi
lea ecx, [esp + 0x9c]
mov dword [esp + 0x14], eax
call fcn.101ddc60
mov esi, dword [ebx]
lea ecx, [esp + 0x98]
mov edi, eax
shl esi, 2
mov eax, dword [esp + 0x38]
cdq
push dword [esp + 0x24]
sub eax, edx
sar eax, 1
sub esi, eax
mov eax, dword [esp + 0x14]
add esi, dword [eax]
add esi, dword [edi]
mov eax, dword [esp + 0x20]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movsd qword [eax + 0x60], xmm0
mov ebx, dword [ebx]
shl ebx, 3
call fcn.101ddc60
mov edx, dword [esp + 0x38]
mov edi, dword [edi]
movd xmm0, esi
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
movd xmm1, edx
cvtdq2pd xmm0, xmm0
mov eax, dword [eax]
mov dword [esp + 0x24], eax
lea eax, [ecx + ebx]
mov esi, dword [esp + 0x24]
add eax, edi
add eax, esi
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x101f4d94
sub ecx, edx
add ecx, ebx
mov ebx, dword [esp + 0x1c]
add ecx, edi
add ecx, esi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [ebx + 0x60], xmm0
jmp 0x101f4d98
mov ebx, dword [esp + 0x1c]
push dword [ebx + 0x80]
lea ecx, [esp + 0x134]
call fcn.101ddc60
lea ecx, [esp + 0x20]
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
movsd qword [ebx + 0x68], xmm0
call fcn.101de190
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x24]
call fcn.101dd850
test al, al
jne 0x101f4cb0
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
call fcn.101e9400
lea eax, [esp + 0x38]
mov ecx, ebx
push eax
call fcn.101eb740
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
call fcn.101dd850
test al, al
je 0x101f51b3
lea esp, [esp]
lea ecx, [esp + 0x1c]
call fcn.101dded0
mov dword [esp + 0x24], eax
lea esi, [eax + 0x3c]
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.101e9580
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.101eb8b0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x24]
call fcn.101dd950
test al, al
je 0x101f518c
mov edi, edi
lea ecx, [esp + 0x20]
call fcn.101de060
mov esi, eax
push 0
mov dword [esp + 0x30], esi
lea ecx, [esi + 0x14]
call fcn.101ddca0
mov esi, dword [esi + 0x20]
movq xmm0, qword [eax]
mov ecx, dword [eax + 8]
movq qword [esp + 0x244], xmm0
mov ebx, dword [esp + 0x248]
mov dword [esp + 0x24c], ecx
mov ecx, edi
push ebx
call fcn.101ddc60
mov ecx, dword [esp + 0x24]
mov eax, dword [eax]
movd xmm1, dword [ecx + 0x74]
cvtdq2pd xmm1, xmm1
lea eax, [eax + esi*8]
add eax, 4
addsd xmm1, qword [ecx + 0x68]
mov ecx, dword [esp + 0x3c]
movsd xmm0, qword [ecx + 0xc0]
addsd xmm1, qword [0x102dbbb0]
mulsd xmm0, qword [0x102b8d38]
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
push ecx
push eax
lea ecx, [esp + 0x60]
call dword [0x102ab388]
lea ecx, [esp + 0x14]
call dword [0x102abb0c]
lea eax, [esp + 0x58]
mov byte [esp + 0x290], 0x12
push eax
lea ecx, [esp + 0x188]
call dword [0x102ab37c]
lea eax, [esp + 0x184]
push eax
lea ecx, [esp + 0x18]
call dword [0x102ab368]
mov esi, dword [esp + 0x2c]
xor edi, edi
add esi, 0x14
mov ecx, esi
call fcn.101f7a80
test eax, eax
jle 0x101f5023
lea ebx, [ebx]
push edi
mov ecx, esi
call fcn.101ddca0
lea ecx, [esp + 0x68]
movq xmm0, qword [eax]
mov esi, dword [eax + 8]
movq qword [esp + 0x148], xmm0
mov dword [esp + 0x60], esi
call dword [0x102ab38c]
mov eax, dword [esp + 0x14c]
cmp ebx, eax
jne 0x101f4f93
mov ecx, dword [esp + 0x3c]
push dword [esp + 0x148]
lea ecx, [ecx + 0x12c]
call fcn.101ddc60
lea ecx, [esp + 0x58]
mov eax, dword [eax]
lea eax, [eax + esi*8]
add eax, 4
push eax
call dword [0x102ab384]
lea ecx, [esp + 0xd4]
jmp 0x101f4fbd
mov ecx, dword [esp + 0x30]
push eax
call fcn.101ddc60
lea ecx, [esp + 0x58]
mov esi, eax
call dword [0x102ab380]
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [esi]
lea eax, [eax + ecx*8]
add eax, 4
lea ecx, [esp + 0x12c]
push eax
call dword [0x102ab388]
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x1b4]
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
push eax
call dword [0x102ab37c]
lea eax, [esp + 0x1b4]
push eax
lea ecx, [esp + 0x18]
call dword [0x102ab364]
mov esi, dword [esp + 0x2c]
inc edi
mov eax, dword [esp + 0x68]
add esi, 0x14
mov ebx, dword [esp + 0x14c]
mov ecx, esi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
call fcn.101f7a80
cmp edi, eax
jl 0x101f4f30
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0x58]
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [eax + 0x60]
mov eax, dword [esp + 0x3c]
addsd xmm0, qword [eax + 0xc0]
subsd xmm0, qword [0x102b9708]
cvttsd2si eax, xmm0
push eax
call dword [0x102ab384]
push eax
lea ecx, [esp + 0x58]
call dword [0x102ab388]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x198]
call dword [0x102ab37c]
lea eax, [esp + 0x194]
push eax
lea ecx, [esp + 0x18]
call dword [0x102ab364]
lea eax, [esp + 0x14]
push eax
lea ecx, [ebx + 0x24]
call dword [0x102abb00]
lea ecx, [esp + 0x14]
call dword [0x102ab36c]
lea ecx, [esp + 0x50]
call dword [0x102ab380]
sub eax, 6
lea ecx, [esp + 0x50]
push eax
call dword [0x102ab384]
sub eax, 3
lea ecx, [esp + 0x88]
push eax
call dword [0x102ab388]
push eax
lea ecx, [esp + 0x168]
call dword [0x102ab37c]
mov esi, dword [0x102ab368]
lea eax, [esp + 0x164]
push eax
lea ecx, [esp + 0x18]
call esi
lea ecx, [esp + 0x50]
call dword [0x102ab380]
sub eax, 6
lea ecx, [esp + 0x50]
push eax
call dword [0x102ab384]
add eax, 3
lea ecx, [esp + 0x100]
push eax
call dword [0x102ab388]
push eax
lea ecx, [esp + 0x1a8]
call dword [0x102ab37c]
lea eax, [esp + 0x1a4]
push eax
lea ecx, [esp + 0x18]
call esi
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x178]
call dword [0x102ab37c]
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x18]
call esi
lea eax, [esp + 0x14]
push eax
lea ecx, [ebx + 0x28]
call dword [0x102abb00]
lea ecx, [esp + 0x14]
mov byte [esp + 0x290], 0x11
call dword [0x102abb08]
lea ecx, [esp + 0x20]
call fcn.101de320
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x24]
call fcn.101dd950
mov edi, dword [esp + 0x30]
test al, al
jne 0x101f4e50
lea ecx, [esp + 0x1c]
call fcn.101de190
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
call fcn.101dd850
mov edi, dword [esp + 0x30]
test al, al
jne 0x101f4e10
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x70]
call dword [0x102ab39c]
mov esi, dword [esp + 0x3c]
mov edi, dword [0x102aca50]
cmp byte [esi + 0xf6], 0
je 0x101f51e6
lea eax, [esp + 0xd0]
mov ecx, esi
push eax
call edi
mov ecx, eax
call dword [0x102ac494]
jmp 0x101f5221
push 0x14
push 0x14
lea ecx, [esp + 0xd8]
call dword [0x102ab398]
push eax
lea eax, [esp + 0x12c]
mov ecx, esi
push eax
call dword [0x102acd3c]
mov ecx, eax
call dword [0x102ac494]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.101de4d0
add esp, 0xc
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x70]
mov eax, dword [eax + 4]
mov dword [esp + 0x74], eax
call dword [0x102ab394]
movd xmm0, dword [esi + 0xd0]
lea ecx, [esp + 0x70]
cvtdq2pd xmm0, xmm0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm1, xmm0
movsd qword [esp + 0x15c], xmm1
call dword [0x102ab390]
movd xmm0, dword [esi + 0xd4]
cvtdq2pd xmm0, xmm0
movd xmm1, eax
lea eax, [esp + 0x154]
cvtdq2pd xmm1, xmm1
push eax
lea eax, [esp + 0x160]
push eax
divsd xmm1, xmm0
movsd xmm0, qword [0x102dbba0]
movsd qword [esp + 0x15c], xmm1
movsd qword [esp + 0x8c], xmm0
call fcn.101d72e0
movsd xmm0, qword [0x102b9708]
subsd xmm0, qword [esi + 0x68]
mulsd xmm0, qword [eax]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x108]
push eax
movsd qword [esp + 0x10c], xmm0
call fcn.101d72e0
add esp, 0x10
lea ecx, [esp + 0xd0]
movsd xmm0, qword [eax]
push 0
push 0
movsd qword [esi + 0x50], xmm0
call dword [0x102ab388]
push 0
lea ecx, [esp + 0x74]
push dword [eax + 4]
push dword [eax]
call dword [0x102ab390]
push eax
lea ecx, [esp + 0x80]
call dword [0x102ab394]
push eax
mov ecx, esi
call fcn.101e7ec0
push str.Adjust_scroll_bars_for_new_size
call dword [0x102ab148]
mov eax, dword [esi + 0xf8]
add esp, 4
test eax, eax
je 0x101f535b
push dword [eax]
mov ecx, esi
call dword [0x102aca54]
mov esi, dword [0x102aca1c]
mov ecx, eax
call esi
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0xf8]
push dword [eax + 4]
jmp 0x101f5412
cmp dword [esi + 0xe8], 0
je 0x101f537f
movzx eax, byte [esi + 0x164]
mov ecx, esi
push eax
call fcn.101f75d0
mov byte [esi + 0x164], 0
jmp 0x101f5420
push dword [esp + 0x18]
mov ecx, ebx
call fcn.101ddaa0
movd xmm0, dword [esi + 0xe0]
mov ecx, ebx
push dword [esp + 0x18]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax + 0x58]
movsd qword [esp + 0x88], xmm0
call fcn.101ddaa0
lea ecx, [esp + 0x70]
mov eax, dword [eax + 0x68]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [esp + 0x84]
movsd qword [esp + 0x84], xmm0
call dword [0x102ab394]
movsd xmm1, qword [esp + 0x84]
mov ecx, esi
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
call dword [0x102aca54]
mov esi, dword [0x102aca1c]
mov ecx, eax
call esi
mov ecx, dword [esp + 0x3c]
push 0
call dword [0x102aca58]
mov ecx, eax
call esi
mov esi, dword [esp + 0x3c]
lea ecx, [esp + 0x70]
mov byte [esi + 0xf5], 1
call dword [0x102ab390]
push eax
lea ecx, [esp + 0x74]
call dword [0x102ab394]
push eax
push 0
push 0
mov ecx, esi
call edi
mov ecx, eax
call dword [0x102ac4a8]
lea ecx, [esp + 0x130]
call fcn.1002c6d0
lea ecx, [esp + 0x13c]
call fcn.1002c6d0
lea ecx, [esp + 0xf0]
call fcn.1002c6d0
lea ecx, [esp + 0x98]
call fcn.1002c6d0
lea ecx, [esp + 0xc4]
call fcn.1002c6d0
lea ecx, [esp + 0x78]
call fcn.1002c6d0
lea ecx, [esp + 0xd8]
call fcn.101dc210
lea ecx, [esp + 0xb8]
call fcn.101dc1c0
lea ecx, [esp + 0xe4]
call fcn.101dc1c0
lea ecx, [esp + 0x8c]
call fcn.100615c0
lea ecx, [esp + 0xa4]
call fcn.101dbd10
lea ecx, [esp + 0x108]
call fcn.101dbe40
mov ecx, dword [esp + 0x288]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x270]
xor ecx, esp
call fcn.10257318
mov esp, ebp
pop ebp
ret 4