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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd0
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
movzx eax, word [eax]
cmp ax, 0x40
jle 0x1019e9f6
push 0x40
push str.at_most__d_tables_in_a_join
push ebx
call fcn.10175100
add esp, 0xc
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
test byte [ebp + 0x18], 0x80
push edi
mov edi, 1
jne 0x1019ea05
movsx edi, ax
mov ecx, dword [ebx]
push esi
lea esi, [edi + edi*4]
mov dword [ebp - 0x18], edi
shl esi, 4
add esi, 0x37
mov dword [ebp - 0x1c], ecx
and esi, 0xfffffff8
lea eax, [esi + 0x264]
push eax
push ecx
call fcn.101730c0
mov edx, eax
add esp, 8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], edx
cmp byte [eax + 0x1e], 0
je 0x1019eacc
mov ebx, eax
mov ecx, dword [ebx + 0x1f8]
test ecx, ecx
je 0x1019ea89
test edx, edx
je 0x1019ea6e
cmp edx, dword [ebx + 0x104]
jb 0x1019ea6e
cmp edx, dword [ebx + 0x108]
jae 0x1019ea6e
movzx eax, word [ebx + 0xe8]
add dword [ecx], eax
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push edx
call dword [0x1022a50c]
mov ecx, dword [ebx + 0x1f8]
add esp, 4
add dword [ecx], eax
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x1019eaba
cmp edx, dword [ebx + 0x104]
jb 0x1019eaba
cmp edx, dword [ebx + 0x108]
jae 0x1019eaba
mov eax, dword [ebx + 0x100]
pop esi
mov dword [edx], eax
dec dword [ebx + 0xec]
xor eax, eax
pop edi
mov dword [ebx + 0x100], edx
pop ebx
mov esp, ebp
pop ebp
ret
push edx
call fcn.1013e5e0
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
push dword [ebp - 0x28]
mov dword [edx + 0x18], edi
mov dword [edx], ebx
mov dword [edx + 8], eax
call fcn.1019aa30
mov ecx, dword [ebp - 8]
push 0x104
push 0
lea edi, [ecx + esi]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp + 0x18]
mov dword [ecx + 0x1c], edi
mov word [ecx + 4], ax
movsd xmm0, qword [ebx + 0x1c0]
lea ebx, [edi + 0x160]
push ebx
mov dword [ebp - 4], edi
movsd qword [ecx + 0x20], xmm0
mov dword [ebp - 0x60], ebx
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x20]
mov dword [edi + 4], ebx
xor esi, esi
mov ebx, dword [ebp + 0x10]
add esp, 0x10
mov dword [edi], ecx
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 8
mov dword [edi + 0x1c], eax
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
cmp dword [ecx + 0x15c], esi
jne 0x1019eb77
mov eax, dword [ecx]
test byte [eax + 0xc], 0x40
jne 0x1019eb77
lea eax, [ebp - 0x80]
mov dword [ebp - 0x80], 0x10152cb0
push ebx
push eax
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], ecx
call fcn.1019e620
mov esi, dword [edi + 0x14]
add esp, 8
mov byte [edi + 0x10], 0x45
test ebx, ebx
je 0x1019eda6
cmp byte [ebx], 0x45
je 0x1019ed66
mov ecx, dword [edi + 0x18]
cmp esi, ecx
jl 0x1019ed44
mov edx, dword [ebp - 4]
mov edi, dword [edi + 0x1c]
mov eax, dword [edx]
lea edx, [ecx + ecx*4]
shl edx, 4
mov esi, dword [eax]
test esi, esi
je 0x1019ebd3
cmp byte [esi + 0x1e], 0
jne 0x1019eca1
cmp byte [esi + 0xea], 0
je 0x1019ebd3
movzx eax, word [esi + 0xe8]
cmp edx, eax
jle 0x1019ec58
inc dword [esi + 0xf8]
push edx
call fcn.101805a0
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x1019ebea
test esi, esi
je 0x1019ebea
mov byte [esi + 0x1e], 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1c], ecx
test ecx, ecx
je 0x1019eca4
mov eax, dword [eax + 0x14]
lea eax, [eax + eax*4]
shl eax, 3
push eax
push edi
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 4]
add esp, 0xc
add eax, 0x20
cmp edi, eax
je 0x1019ed01
test esi, esi
je 0x1019ecf8
mov eax, dword [esi + 0x1f8]
test eax, eax
je 0x1019ecc8
test edi, edi
je 0x1019ecac
cmp edi, dword [esi + 0x104]
jb 0x1019ecac
cmp edi, dword [esi + 0x108]
jae 0x1019ecac
mov edi, dword [ebp - 4]
movzx ecx, word [esi + 0xe8]
add dword [eax], ecx
mov eax, dword [edi + 0x1c]
jmp 0x1019ed0b
mov ecx, dword [esi + 0x100]
test ecx, ecx
jne 0x1019ec6d
inc dword [esi + 0xfc]
jmp 0x1019ebd3
mov eax, dword [ecx]
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0xec]
inc eax
mov dword [esi + 0xec], eax
inc dword [esi + 0xf4]
cmp eax, dword [esi + 0xf0]
jle 0x1019ec96
mov dword [esi + 0xf0], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x1c], ecx
jmp 0x1019ebf8
mov eax, dword [ebp - 4]
mov dword [eax + 0x1c], edi
jmp 0x1019ed7f
push edi
call dword [0x1022a50c]
mov edi, dword [ebp - 4]
mov ecx, eax
mov eax, dword [esi + 0x1f8]
add esp, 4
add dword [eax], ecx
mov eax, dword [edi + 0x1c]
jmp 0x1019ed0b
test edi, edi
je 0x1019ecf8
cmp edi, dword [esi + 0x104]
jb 0x1019ecf8
cmp edi, dword [esi + 0x108]
jae 0x1019ecf8
mov eax, dword [esi + 0x100]
mov dword [edi], eax
dec dword [esi + 0xec]
mov dword [esi + 0x100], edi
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x1c]
jmp 0x1019ed0b
push edi
call fcn.1013e5e0
add esp, 4
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x1c]
test esi, esi
je 0x1019ed28
test eax, eax
je 0x1019ed28
cmp eax, dword [esi + 0x104]
jb 0x1019ed28
cmp eax, dword [esi + 0x108]
jae 0x1019ed28
movzx ecx, word [esi + 0xe8]
jmp 0x1019ed34
push eax
call dword [0x1022a50c]
add esp, 4
mov ecx, eax
mov esi, dword [edi + 0x14]
mov eax, 0xcccccccd
mul ecx
shr edx, 5
mov dword [edi + 0x18], edx
mov ecx, dword [edi + 0x1c]
lea edx, [esi + esi*4]
lea eax, [esi + 1]
mov dword [edi + 0x14], eax
mov dword [ecx + edx*8], ebx
mov byte [ecx + edx*8 + 0x12], 0
mov dword [ecx + edx*8 + 0x14], edi
mov dword [ecx + edx*8 + 4], 0xffffffff
jmp 0x1019ed7f
push 0x45
push dword [ebx + 8]
push edi
call fcn.101a56f0
push 0x45
push dword [ebx + 0xc]
push edi
call fcn.101a56f0
add esp, 0x18
cmp dword [ebp - 0x18], 0
je 0x1019ed92
push ebx
call fcn.10177e40
add esp, 4
test eax, eax
je 0x1019eda6
mov eax, dword [ebp - 8]
push 8
push dword [eax + 0x14]
push ebx
push dword [ebp + 8]
call fcn.10177810
add esp, 0x10
mov ebx, dword [ebp + 0xc]
xor eax, eax
xor esi, esi
cmp ax, word [ebx]
jge 0x1019ee05
mov edx, dword [ebp - 0x60]
lea edi, [ebx + 0x14]
nop dword [eax + eax]
mov ecx, dword [edx]
mov eax, dword [edi + 0xc]
mov dword [edx + ecx*4 + 4], eax
inc dword [edx]
mov eax, dword [edi]
test eax, eax
je 0x1019edfa
test byte [eax + 0x22], 0x10
je 0x1019edfa
xor ecx, ecx
mov eax, esi
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
mov eax, dword [ebp - 4]
cmovae edx, ecx
or dword [eax + 8], ecx
or dword [eax + 0xc], edx
mov edx, dword [ebp - 0x60]
movsx eax, word [ebx]
inc esi
add edi, 0x38
cmp esi, eax
jl 0x1019edc0
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x14]
sub esi, 1
js 0x1019ee23
push esi
push eax
push ebx
call fcn.10154f60
mov eax, dword [ebp - 4]
add esp, 0xc
sub esi, 1
jns 0x1019ee10
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x1e], 0
jne 0x1019f25e
mov esi, dword [ebp - 8]
xor edx, edx
mov edi, dword [ebp - 0x18]
or ecx, 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x10], ecx
lea ebx, [esi + 0x30]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x54], ebx
test edi, edi
jle 0x1019f28c
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
movlpd qword [ebp - 0xa0], xmm0
lea ecx, [edi - 1]
movsd xmm1, qword [ebp - 0xa0]
xor eax, eax
movlpd qword [ebp - 0xa8], xmm0
or ebx, 0xffffffff
movups xmm2, xmmword [ebp - 0xa8]
cmp edx, ecx
mov dword [ebp - 0x2c], ebx
movlpd qword [ebp - 0x98], xmm0
movsd xmm0, qword [0x101d8a70]
setl al
movsd qword [ebp - 0x5c], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm1
movups xmmword [ebp - 0x80], xmm2
mov dword [ebp - 0x64], eax
test ebx, ebx
jns 0x1019f141
mov ebx, dword [ebp + 0xc]
lea eax, [edx*8]
sub eax, edx
mov ecx, edx
mov dword [ebp - 0x14], ecx
lea ebx, [ebx + eax*8]
add ebx, 8
mov dword [ebp - 0x48], ebx
cmp edx, edi
jge 0x1019f134
lea eax, [edx + edx*4]
shl eax, 4
add eax, 0x78
add eax, esi
mov dword [ebp - 0x44], eax
nop dword [eax]
mov al, byte [ebx + 0x15]
and al, 0xa
mov byte [ebp - 0x1d], al
cmp ecx, edx
je 0x1019ef24
test al, al
jne 0x1019f131
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov edx, dword [ecx]
test edx, edx
jle 0x1019ef41
mov esi, dword [ebx + 0x18]
add ecx, 4
cmp dword [ecx], esi
je 0x1019ef77
inc eax
add ecx, 4
cmp eax, edx
jl 0x1019ef35
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
mov ecx, esi
mov eax, edi
and ecx, edx
and eax, dword [ebp - 0x24]
or ecx, eax
jne 0x1019ef8e
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
cmp ecx, edx
lea eax, [edx + 1]
cmovne eax, edx
mov edx, eax
mov dword [ebp - 0xc], edx
jmp 0x1019f113
xor esi, esi
xor edi, edi
bts esi, eax
cmp eax, 0x20
cmovae edi, esi
xor esi, edi
cmp eax, 0x40
cmovae edi, esi
jmp 0x1019ef4f
cmp dword [ebp - 0x50], 0
je 0x1019ef9b
mov dword [ebp - 0x34], esi
mov ebx, edi
jmp 0x1019efa1
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x30], 0
jne 0x1019efb2
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x1019efb2
mov ecx, dword [eax]
jmp 0x1019efb4
xor ecx, ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
inc eax
cmp dword [edx + 0x34], 0
cmovne eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov eax, edx
mov edx, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
test byte [eax + 0x22], 0x10
lea eax, [ebp - 0xd0]
je 0x1019effb
push dword [ebp - 0x44]
push eax
push ecx
push dword [ebp - 0x24]
push dword [ebp - 0x3c]
push ebx
mov ebx, dword [ebp - 0x48]
push edx
push ebx
push dword [ebp - 4]
push dword [ebp + 8]
call fcn.1014b160
add esp, 0x28
jmp 0x1019f017
push eax
push ecx
push dword [ebp - 0x24]
push dword [ebp - 0x3c]
push ebx
mov ebx, dword [ebp - 0x48]
push edx
push ebx
push dword [ebp - 4]
push dword [ebp + 8]
call fcn.1014a460
add esp, 0x24
cmp dword [ebp - 0x50], 0
mov edx, dword [ebp - 0xd0]
je 0x1019f031
test edx, 0x100f3000
jne 0x1019f031
or dword [ebp - 0x64], esi
or dword [ebp - 0x68], edi
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xac]
and ecx, dword [ebp - 0x3c]
and eax, dword [ebp - 0x24]
or ecx, eax
jne 0x1019f0fe
mov eax, dword [ebp - 0x2c]
test eax, eax
js 0x1019f074
and esi, dword [ebp - 0x64]
and edi, dword [ebp - 0x68]
or esi, edi
jne 0x1019f074
test dword [ebp - 0xa8], 0x100f3000
je 0x1019f074
test edx, 0x100f3000
je 0x1019f0fe
cmp dword [ebp - 0x4c], 0
je 0x1019f088
cmp dword [ebx + 0x34], 0
je 0x1019f088
test edx, 0x100f3000
je 0x1019f0fe
test eax, eax
js 0x1019f0ac
movsd xmm1, qword [ebp - 0x5c]
comisd xmm1, xmmword [ebp - 0xb8]
ja 0x1019f0ac
movsd xmm1, qword [ebp - 0x70]
jb 0x1019f103
comisd xmm1, xmmword [ebp - 0xc8]
jbe 0x1019f103
movups xmm0, xmmword [ebp - 0xc0]
mov ecx, dword [ebp - 0x14]
movups xmm2, xmmword [ebp - 0xd0]
mov dword [ebp - 0x2c], ecx
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [ebp - 0xb0]
movups xmmword [ebp - 0xa8], xmm2
movsd xmm1, qword [ebp - 0xa0]
movq qword [ebp - 0x88], xmm0
movsd xmm0, qword [ebp - 0x90]
movups xmmword [ebp - 0x80], xmm2
movsd qword [ebp - 0x5c], xmm0
movsd qword [ebp - 0x70], xmm1
jmp 0x1019f10a
movsd xmm1, qword [ebp - 0x70]
movups xmm2, xmmword [ebp - 0x80]
mov ecx, dword [ebp - 0x14]
cmp byte [ebp - 0x1d], 0
mov edx, dword [ebp - 0xc]
jne 0x1019f12e
add dword [ebp - 0x44], 0x50
inc ecx
mov edi, dword [ebp - 0x18]
add ebx, 0x38
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x48], ebx
cmp ecx, edi
jl 0x1019ef10
jmp 0x1019f131
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 8]
sub dword [ebp - 0x50], 1
mov ebx, dword [ebp - 0x2c]
jns 0x1019eed1
mov edi, dword [ebp - 0xa8]
test edi, 0x1000000
je 0x1019f158
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov ecx, dword [ebp - 0x54]
and dword [ebp - 0x10], edi
movq xmm0, qword [ebp - 0x98]
movups xmmword [ecx], xmm2
movq qword [ecx + 0x10], xmm0
test edi, 0x200f0000
je 0x1019f187
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x54]
mov eax, dword [ecx + 0x44]
mov dword [edx + 0x20], eax
inc dword [ecx + 0x44]
jmp 0x1019f18e
mov dword [ecx + 0x20], 0xffffffff
mov eax, dword [ebp - 4]
xor ecx, ecx
mov edx, dword [eax + 0x160]
test edx, edx
jle 0x1019f1c1
mov esi, dword [ebp + 0xc]
lea eax, [ebx*8]
sub eax, ebx
mov esi, dword [esi + eax*8 + 0x20]
mov eax, dword [ebp - 4]
add eax, 0x164
cmp dword [eax], esi
je 0x1019f237
inc ecx
add eax, 4
cmp ecx, edx
jl 0x1019f1b5
xorps xmm0, xmm0
movlpd qword [ebp - 0x5c], xmm0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp + 8]
not edx
and dword [ebp - 0x24], edx
not eax
mov edx, dword [ebp - 0x54]
and dword [ebp - 0x3c], eax
comisd xmm1, xmmword [0x101cc1f0]
mov byte [edx + 0x34], bl
jb 0x1019f1fc
mulsd xmm1, qword [ecx + 0x1c0]
movsd qword [ecx + 0x1c0], xmm1
lea eax, [ebx*8]
sub eax, ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + eax*8 + 0x3c]
test eax, eax
je 0x1019f218
test edi, 0xf0000
je 0x1019f24e
mov ecx, dword [ebp - 0x30]
add edx, 0x50
mov edi, dword [ebp - 0x18]
inc ecx
mov esi, dword [ebp - 8]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x54], edx
cmp ecx, edi
jge 0x1019f286
mov edx, dword [ebp - 0xc]
jmp 0x1019ee63
xor eax, eax
xor edx, edx
bts eax, ecx
cmp ecx, 0x20
cmovae edx, eax
xor eax, edx
cmp ecx, 0x40
cmovae edx, eax
jmp 0x1019f1cf
push dword [eax]
push str.cannot_use_index:__s
push ecx
call fcn.10175100
add esp, 0xc
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 8]
push ecx
push dword [ebp - 0x1c]
movsd xmm0, qword [ecx + 0x20]
movsd qword [eax + 0x1c0], xmm0
call fcn.101a5490
add esp, 8
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x40], 0
jne 0x1019f25e
cmp byte [eax + 0x1e], 0
jne 0x1019f25e
and ecx, 0x4000000
je 0x1019f2b0
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x1019f2b0
mov dword [eax], 0
test byte [ebp + 0x18], 4
je 0x1019f2c5
test ecx, ecx
je 0x1019f2c5
mov byte [esi + 6], 1
and dword [esi + 0x30], 0xff7fffff
push 0xffffffffffffffff
push ebx
call fcn.101714e0
movsd xmm0, qword [0x101cc1f0]
add esp, 8
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
movsd qword [esi + 0x28], xmm0
test edi, edi
jle 0x1019f625
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], edi
nop dword [eax]
movzx ecx, byte [edx + 0x34]
mov ebx, 0xfff0bdc0
movsd xmm0, qword [edx + 8]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp + 0xc]
add ecx, 8
mov esi, dword [ecx + eax*8 + 0xc]
lea edi, [ecx + eax*8]
mov ecx, dword [ebp - 8]
mov eax, dword [edi + 0x18]
mov dword [edx + 0x1c], eax
mov dword [ebp - 0xc], edi
mulsd xmm0, qword [ecx + 0x28]
movsd qword [ecx + 0x28], xmm0
mov edx, dword [esi + 0x44]
test edx, edx
je 0x1019f362
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x1019f35f
mov eax, dword [eax + 8]
add eax, 0xc
cmp dword [eax], edx
je 0x1019f35f
inc ebx
add eax, 0x10
cmp ebx, ecx
jl 0x1019f353
mov ecx, dword [ebp - 8]
test byte [esi + 0x22], 2
jne 0x1019f3fb
cmp dword [esi + 0x1c], 0
jne 0x1019f3fb
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
test eax, 0x8000000
je 0x1019f435
mov esi, dword [esi + 0x34]
test esi, esi
je 0x1019f39b
mov eax, dword [ebp - 0x1c]
cmp dword [esi], eax
je 0x1019f39b
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x1019f390
push 0
push 0
push dword [edi + 0x18]
push 0x7f
push dword [ebp - 0x28]
call fcn.10190220
mov edx, dword [ebp - 0x28]
add esp, 0x14
mov dword [ebp - 0x10], eax
mov edi, dword [edx + 4]
mov ecx, dword [edx]
test edi, edi
je 0x1019f3f8
cmp byte [ecx + 0x1e], 0
jne 0x1019f3f8
test eax, eax
jns 0x1019f3cf
mov eax, dword [edx + 0x1c]
dec eax
mov dword [ebp - 0x10], eax
lea eax, [eax + eax*4]
push dword [edi + eax*4 + 0x10]
movsx eax, byte [edi + eax*4 + 1]
push eax
push ecx
call fcn.1015a450
mov ecx, dword [ebp - 0x10]
add esp, 0xc
lea eax, [ecx + ecx*4]
test esi, esi
jne 0x1019f427
mov dword [edi + eax*4 + 0x10], esi
mov byte [edi + eax*4 + 1], 0
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
test eax, 0x20000000
je 0x1019f4bf
push ecx
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push edi
push dword [ebp - 4]
push esi
call fcn.10150b40
add esp, 0x18
jmp 0x1019f5c0
mov dword [edi + eax*4 + 0x10], esi
mov byte [edi + eax*4 + 1], 0xf6
inc dword [esi + 0xc]
jmp 0x1019f3f8
test eax, 0x800000
jne 0x1019f4a6
test byte [ebp + 0x18], 0x10
jne 0x1019f4a6
xor eax, eax
cmp byte [ecx + 6], al
setne al
add eax, 0x26
push eax
push esi
push ebx
push dword [edi + 0x18]
push dword [ebp + 8]
call fcn.10180f00
mov eax, dword [ebp - 8]
add esp, 0x14
cmp byte [eax + 6], 0
jne 0x1019f3fb
cmp dword [esi + 8], 0x40
jge 0x1019f3fb
mov edx, dword [edi + 0x28]
xor esi, esi
mov ecx, dword [edi + 0x2c]
mov eax, edx
or eax, ecx
je 0x1019f48d
nop dword [eax + eax]
shrd edx, ecx, 1
inc esi
shr ecx, 1
mov eax, edx
or eax, ecx
jne 0x1019f480
mov ecx, dword [ebp - 0x28]
push 0xfffffffffffffff2
push esi
mov eax, dword [ecx + 0x1c]
dec eax
push eax
push ecx
call fcn.10190490
add esp, 0x10
jmp 0x1019f3fb
push dword [esi]
push 0
push dword [esi + 0x14]
mov esi, dword [ebp + 8]
push ebx
push esi
call fcn.1018ca30
add esp, 0x14
jmp 0x1019f3fe
test eax, 0xf0000
je 0x1019f5c0
mov esi, dword [ecx + 0x10]
push esi
push dword [ebp + 8]
call fcn.1017dc00
push ebx
push dword [esi + 0x14]
mov edi, eax
mov eax, dword [ebp - 0x40]
push dword [eax + 0x20]
push 0x26
push dword [ebp - 0x28]
call fcn.10190220
mov edx, dword [ebp - 0x28]
mov ecx, eax
mov dword [ebp - 0x10], eax
add esp, 0x1c
mov eax, dword [edx + 4]
mov esi, dword [edx]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x1019f550
cmp byte [esi + 0x1e], 0
jne 0x1019f550
test ecx, ecx
jns 0x1019f514
mov ecx, dword [edx + 0x1c]
dec ecx
mov dword [ebp - 0x10], ecx
lea ecx, [ecx + ecx*4]
push dword [eax + ecx*4 + 0x10]
movsx eax, byte [eax + ecx*4 + 1]
push eax
push esi
call fcn.1015a450
mov edx, dword [ebp - 0x10]
add esp, 0xc
mov eax, dword [ebp - 0x34]
lea ecx, [edx + edx*4]
test edi, edi
jne 0x1019f545
mov dword [eax + ecx*4 + 0x10], edi
mov byte [eax + ecx*4 + 1], 0
jmp 0x1019f5c0
mov dword [eax + ecx*4 + 0x10], edi
mov byte [eax + ecx*4 + 1], 0xfa
jmp 0x1019f5c0
test edi, edi
je 0x1019f5c0
test esi, esi
je 0x1019f5b7
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0x104]
test eax, eax
je 0x1019f595
cmp edi, ecx
jb 0x1019f57f
cmp edi, dword [esi + 0x108]
jae 0x1019f57f
movzx ecx, word [esi + 0xe8]
add dword [eax], ecx
jmp 0x1019f5c0
push edi
call dword [0x1022a50c]
mov ecx, eax
add esp, 4
mov eax, dword [esi + 0x1f8]
add dword [eax], ecx
jmp 0x1019f5c0
cmp edi, ecx
jb 0x1019f5b7
cmp edi, dword [esi + 0x108]
jae 0x1019f5b7
mov eax, dword [esi + 0x100]
mov dword [edi], eax
dec dword [esi + 0xec]
mov dword [esi + 0x100], edi
jmp 0x1019f5c0
push edi
call fcn.1013e5e0
add esp, 4
push ebx
mov ebx, dword [ebp + 8]
push ebx
call fcn.101714e0
mov eax, dword [ebp - 4]
add esp, 8
mov ecx, dword [eax + 4]
xor eax, eax
mov edx, dword [ecx]
test edx, edx
jle 0x1019f5f4
mov esi, dword [ebp - 0xc]
add ecx, 4
mov esi, dword [esi + 0x18]
cmp dword [ecx], esi
je 0x1019f699
inc eax
add ecx, 4
cmp eax, edx
jl 0x1019f5e4
xorps xmm0, xmm0
movlpd qword [ebp - 0x5c], xmm0
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
not edx
not ecx
and dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x40]
and dword [ebp - 0x30], ecx
add edx, 0x50
sub dword [ebp - 0x44], 1
mov dword [ebp - 0x40], edx
jne 0x1019f300
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x1c]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x1e], 0
jne 0x1019f25e
or ebx, 0xffffffff
mov dword [ebp - 0x34], 0xffffffff
xor esi, esi
test edi, edi
jle 0x1019f6b3
mov edi, dword [ebp - 8]
add edi, 0x5c
push dword [ebp + 0x18]
movzx eax, byte [edi + 8]
push eax
push esi
lea eax, [edi - 0x2c]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10154ab0
push dword [ebp - 0x34]
push ebx
push dword [ebp + 0x18]
push esi
push dword [ebp - 8]
call fcn.1014e730
mov ecx, dword [edi]
lea edi, [edi + 0x50]
mov ebx, eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 8]
inc esi
add esp, 0x2c
mov dword [eax + 0x10], ecx
cmp esi, dword [ebp - 0x18]
jl 0x1019f651
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x1019f602
mov eax, dword [ebp - 8]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret