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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x4f8
mov eax, dword [0x11ad127c]
xor eax, esp
mov dword [esp + 0x4f4], eax
push esi
mov esi, edx
mov dword [esp + 0x50], ecx
mov ecx, dword [0x11d0c5b8]
push edi
mov dword [esp + 0x14], esi
mov edi, dword [esi + 0x13f0]
mov edx, dword [esi + 0xf7c]
mov dword [esp + 0x50], edi
mov byte [esp + 0x33], 0
mov eax, dword [edi]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x74], 0
cmp dword [edx + 0x1838], 0x57ad
mov dword [esp + 0x24], eax
sete byte [esp + 0x60]
mov dword [esp + 0x38], edx
xor al, al
mov byte [esp + 0x22], al
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x10]
mov esi, dword [ecx + 0xfd48]
mov eax, dword [eax + 0xd384]
mov dword [esp + 0x2c], eax
xor eax, eax
test esi, esi
je 0x1019155b
add ecx, 0xf968
mov edx, ecx
cmp dword [edx], 1
je 0x10191648
inc eax
add edx, 0x20
cmp eax, esi
jb 0x10191542
mov al, byte [esp + 0x22]
mov edx, dword [esp + 0x38]
cmp byte [edi + 0x21], 0
jne 0x1019156a
mov byte [esp + 0x38], 0
test al, al
je 0x1019156f
mov byte [esp + 0x38], 1
cmp byte [edi + 0x20], 0
jne 0x10193bba
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x114]
mov dword [esp + 0x58], ecx
lea esi, [ecx + ecx*4]
mov eax, dword [edx + esi*4 + 0xd70]
mov dword [edx + esi*4 + 0xd74], eax
lea edx, [ecx + ecx*4]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xf7c]
mov eax, dword [ecx + edx*4 + 0xd6c]
mov dword [ecx + esi*4 + 0xd70], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xf7c]
mov eax, dword [ecx + esi*4 + 0xd68]
mov dword [ecx + edx*4 + 0xd6c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xf7c]
mov eax, dword [ecx + esi*4 + 0xd64]
mov dword [ecx + esi*4 + 0xd68], eax
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [esp + 0x58]
test byte [ecx + 0x93], 0x10
lea edx, [eax + eax*4]
mov eax, 0
cmove ecx, eax
mov eax, dword [esi + 0xf7c]
mov dword [eax + edx*4 + 0xd64], ecx
mov ecx, dword [esi + 0xf7c]
mov eax, dword [ecx + edx*4 + 0xd64]
test eax, eax
je 0x10191709
mov esi, dword [ecx + edx*4 + 0xd6c]
test esi, esi
je 0x101916dd
cmp eax, esi
jne 0x101916dd
mov eax, 2
jmp 0x1019170b
cmp eax, 0x1f
jne 0x10191662
xor eax, eax
nop
cmp dword [ecx], 1
je 0x10191674
inc eax
add ecx, 0x20
cmp eax, esi
jb 0x10191650
jmp 0x10191553
cmp eax, 0xffffffff
je 0x10191553
cmp eax, 0x1f
jae 0x10191553
mov edx, dword [esp + 0x14]
shl eax, 5
mov ecx, dword [edx]
cmp dword [eax + ecx + 0xf96c], 0
setne al
test al, al
je 0x10191553
test byte [esp + 0x2c], 0x10
je 0x101916a4
cmp dword [ecx + 0xf944], 1
jne 0x10191553
cmp dword [esp + 0x24], 0
jbe 0x101916d2
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x101916d2
test byte [eax + 0x1ae], 0x20
je 0x101916d2
test byte [eax + 0x95], 8
je 0x101916d2
mov al, 1
mov byte [esp + 0x22], al
jmp 0x10191557
xor al, al
mov byte [esp + 0x22], al
jmp 0x10191557
mov esi, dword [ecx + edx*4 + 0xd70]
test esi, esi
je 0x101916f3
cmp eax, esi
jne 0x101916f3
mov eax, 3
jmp 0x1019170b
mov edx, dword [ecx + edx*4 + 0xd74]
test edx, edx
je 0x10191709
cmp eax, edx
jne 0x10191709
mov eax, 4
jmp 0x1019170b
xor eax, eax
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x14]
mov dword [ecx + edx*4 + 0xdb4], eax
cmp byte [esi + 0x1048], 0
je 0x1019175c
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 0x104c]
cmp eax, dword [ecx + 0x18]
jne 0x1019175c
mov eax, dword [esi + 0x1050]
cmp eax, dword [edi + 0xc]
jne 0x1019175c
mov dword [edi + 0x34], 0
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x4f4]
xor ecx, esp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c]
push ecx
push dword [esp + 0x28]
mov eax, dword [ecx]
push ecx
mov ecx, dword [esi + 0x11d8]
mov eax, dword [eax + 0x18]
mov dword [esi + 0x104c], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0x1050], eax
call fcn.101d44a0
mov ecx, dword [esi + 0x11d0]
push dword [esp + 0x38]
mov byte [esp + 0x16], 0
push dword [esp + 0x28]
mov eax, dword [ecx]
push dword [esp + 0x24]
mov byte [esp + 0x5b], 0
mov dword [esp + 0x64], 0
call dword [eax + 0x12c]
xor esi, esi
cmp dword [edi + 4], esi
jbe 0x101917ee
mov eax, dword [edi]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x101917e8
mov eax, dword [eax + 0x20c]
cmp dword [eax + 0x290], 0
je 0x101917e8
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
add ecx, 0x8a80
call fcn.101477f0
inc esi
cmp esi, dword [edi + 4]
jb 0x101917b8
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x10]
mov ecx, dword [edi + 0xbad0]
test ecx, ecx
je 0x10191871
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x20c]
cmp dword [eax + 0x114], 0
jne 0x1019181d
test byte [eax + 0x71], 0x10
je 0x1019186d
mov ecx, dword [eax + 0x290]
test ecx, ecx
je 0x10191867
nop word [eax + eax]
movsx eax, word [ecx]
mov esi, dword [ecx + 0x8c]
sub eax, 1
je 0x1019184f
sub eax, 1
je 0x10191848
sub eax, 1
jne 0x10191861
push 0
push 0
push ecx
jmp 0x10191856
push 0
push 0
push dword [ecx + 0x28]
lea ecx, [edi + 0x8a80]
call fcn.101485e0
mov ecx, esi
test esi, esi
jne 0x10191830
mov ecx, dword [edi + 0xbad0]
test ecx, ecx
jne 0x10191802
mov edi, dword [esp + 0x50]
mov ecx, edi
call fcn.101f0f50
lea eax, [esp + 0x4f]
mov ecx, edi
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.101f0360
mov ecx, eax
mov dword [esp + 0x44], ecx
test ecx, ecx
js 0x101938f9
cmp byte [esp + 0x4f], 0
je 0x1019197f
mov eax, dword [esp + 0x58]
mov esi, dword [eax + 8]
test esi, esi
je 0x10191963
add esi, 8
je 0x10191963
cmp dword [esi], 0
je 0x10191963
mov eax, dword [esi + 0xc0]
test eax, eax
cmovne esi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x107c]
mov eax, dword [eax + 0x11d4]
mov dword [esp + 0x34], edx
cmp byte [edx + 0x21], 0
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
je 0x10191963
mov edx, dword [edx + ecx*4 + 0x830]
cmp dword [esi + ecx*4 + 0x9cc], edx
je 0x10191927
mov eax, dword [esi + 0xa50]
btr eax, ecx
mov dword [esi + 0xa50], eax
mov dword [esi + ecx*4 + 0x9cc], edx
cmp dword [esi + 0xa4c], edx
jae 0x10191927
mov dword [esi + 0xa4c], edx
mov edx, dword [esi + 0x9c0]
mov eax, 1
shl eax, cl
test eax, edx
jne 0x10191963
push 0
push ecx
mov ecx, dword [esp + 0x3c]
push esi
call fcn.10287930
mov edx, eax
test edx, edx
jns 0x10191963
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov dword [ecx + eax*4 + 0x17c4], edx
mov eax, dword [ecx + 0x17c0]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
test eax, eax
je 0x10191978
mov eax, dword [eax + 8]
mov esi, eax
jmp 0x10191a6c
xor esi, esi
jmp 0x10191a6c
mov ecx, dword [esp + 0x14]
call fcn.100bba70
mov ecx, edi
call fcn.101f0700
mov esi, dword [edi + 4]
xor ecx, ecx
mov byte [esp + 0x12], al
test esi, esi
je 0x101919c7
mov eax, dword [edi]
nop
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x101919c2
mov eax, dword [edx + 0x20c]
test byte [eax + 0x6d], 4
je 0x101919c0
test byte [edx + 0xef], 1
je 0x10191a4d
mov eax, dword [edi]
inc ecx
cmp ecx, esi
jb 0x101919a0
mov edx, dword [esp + 0x14]
push 1
push dword [esp + 0x28]
mov eax, dword [edx]
push dword [esp + 0x24]
push edx
mov ecx, dword [eax + 0x7a68]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1ac]
call eax
mov esi, eax
mov dword [esp + 0x44], eax
push 0
push 4
mov ecx, edi
call fcn.10190920
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov eax, dword [ecx + edx*4 - 4]
test eax, eax
je 0x10191a58
cmp dword [eax + 0x22c], 0
je 0x10191a2b
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0xfec]
test ecx, ecx
je 0x10191a2b
cmp byte [ecx + 0x6f], 0
mov ecx, 0x22c
jne 0x10191a30
mov ecx, 0x20c
mov eax, dword [ecx + eax]
mov eax, dword [eax + 0x18c]
mov ecx, dword [eax + 8]
lea eax, [ecx + 8]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ecx]
mov dword [esp + 0x34], eax
jmp 0x10191a60
mov esi, 0x8007000e
mov dword [esp + 0x44], esi
jmp 0x101919ee
mov dword [esp + 0x34], 0
test esi, esi
js 0x101938f9
mov esi, dword [esp + 0x34]
mov ecx, edi
call fcn.101f1220
mov dword [esp + 0x44], eax
test eax, eax
js 0x101938f9
push 0x12c
lea eax, [esp + 0x15c]
push 0
push eax
call fcn.10425c00
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, edi
mov eax, dword [eax + 0x11d8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x160], eax
lea eax, [esp + 0x15c]
push eax
mov dword [esp + 0x15c], esi
call fcn.10190760
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
movaps xmmword [esp + 0x4b0], xmm0
movq qword [esp + 0x4c0], xmm0
mov dword [esp + 0x4c8], 0
mov ecx, dword [eax + 0x10]
xor eax, eax
movaps xmmword [esp + 0x4d0], xmm0
movq qword [esp + 0x4e0], xmm0
mov dword [esp + 0x4e8], 0
mov esi, dword [ecx + 0xfd48]
test esi, esi
je 0x10191b87
add ecx, 0xf968
mov edx, ecx
nop dword [eax]
cmp dword [edx], 1
je 0x10191b2f
inc eax
add edx, 0x20
cmp eax, esi
jb 0x10191b20
jmp 0x10191b87
cmp eax, 0x1f
jne 0x10191b45
xor eax, eax
cmp dword [ecx], 1
je 0x10191b4f
inc eax
add ecx, 0x20
cmp eax, esi
jb 0x10191b36
jmp 0x10191b87
cmp eax, 0xffffffff
je 0x10191b87
cmp eax, 0x1f
jae 0x10191b87
mov edx, dword [esp + 0x18]
shl eax, 5
mov ecx, dword [edx + 0x10]
cmp dword [eax + ecx + 0xf96c], 0
setne al
test al, al
je 0x10191b87
lea eax, [esp + 0x4b0]
mov dword [esp + 0x268], eax
lea eax, [esp + 0x4d0]
mov dword [esp + 0x26c], eax
mov al, byte [edi + 0x21]
mov dword [esp + 0x2c], eax
test al, al
jne 0x10191bdf
cmp dword [edi + 0x14], 0
jne 0x10191bdf
mov eax, dword [edi + 4]
xor edx, edx
test eax, eax
je 0x10191bd2
mov ecx, dword [edi]
mov esi, eax
mov eax, dword [ecx]
test eax, eax
je 0x10191bc7
test byte [eax + 0x95], 0x10
je 0x10191bc7
cmp byte [eax + 0x91], 0
jge 0x10191bc7
test byte [eax + 0x92], 1
je 0x10191bc7
inc edx
add ecx, 4
sub esi, 1
jne 0x10191ba5
mov eax, dword [edi + 4]
cmp edx, eax
mov eax, dword [esp + 0x2c]
sete byte [esp + 0x34]
jmp 0x10191be4
mov byte [esp + 0x34], 0
mov cl, byte [esp + 0x12]
mov byte [esp + 0x13], cl
mov ecx, dword [edi + 0x38]
push dword [ecx + 0x11d8]
push dword [esp + 0x38]
push dword [edi]
push dword [edi + 4]
push eax
call fcn.101d7570
mov eax, dword [esp + 0x14]
mov ecx, edi
mov eax, dword [eax + 0xf7c]
mov dword [esp + 0x34], eax
call fcn.101f1410
cmp byte [esp + 0x38], 0
mov byte [esp + 0x23], al
jne 0x10191c37
cmp byte [edi + 0x23], 0
jne 0x10191c37
test al, al
jne 0x10191c37
cmp byte [edi + 0x24], al
je 0x10191d7f
mov ecx, edi
call fcn.10190820
test eax, eax
jne 0x10191d7f
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
mov eax, dword [esp + 0x18]
lea edx, [esi + 0x24]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 0x162c]
mov eax, ecx
shr eax, 7
test al, 1
je 0x10191d7f
test ecx, 0x8100
je 0x10191d7f
test byte [edx + 0x6f], 2
je 0x10191d7f
cmp byte [0x11d0c748], 0
jne 0x10191d7f
xorps xmm0, xmm0
lea ecx, [esp + 0x100]
movaps xmmword [esp + 0x100], xmm0
call fcn.101ea6d0
cmp dword [esp + 0x104], 0
mov al, byte [esp + 0x13]
mov byte [esp + 0x12], al
jne 0x10191d7f
mov edx, dword [esp + 0x18]
and byte [esi + 0x93], 0xf9
mov byte [esp + 0x12], al
mov edx, dword [edx + 0x10]
mov ecx, dword [edx + 0xf7d4]
test ecx, ecx
je 0x10191d7f
mov edi, dword [esp + 0x34]
mov byte [esp + 0x12], al
test byte [edi + 0xb50], 2
mov edi, dword [esp + 0x50]
jne 0x10191d7f
mov edi, dword [esp + 0x34]
mov byte [esp + 0x12], al
test byte [edi + 0xb38], 1
mov edi, dword [esp + 0x50]
je 0x10191d7f
cmp dword [edx + 0xf940], 2
mov byte [esp + 0x12], al
jne 0x10191d7f
mov edx, dword [esi + 0x114]
mov byte [esp + 0x12], al
cmp dword [ecx + edx*4 + 4], 0
jne 0x10191d7f
push edx
mov byte [esp + 0x16], al
call fcn.101f8d50
test al, al
jne 0x10191d7f
mov esi, dword [esp + 0x2c]
mov dl, byte [esp + 0x13]
mov byte [esp + 0x12], dl
test byte [esi + 0x72], 8
jne 0x10191d7f
mov eax, dword [esp + 0x18]
sub esp, 0x18c
mov edi, esp
mov ecx, 0x63
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 0xf7d4]
call fcn.101f9d50
mov al, byte [esp + 0x13]
mov edi, dword [esp + 0x50]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
xor eax, eax
mov esi, dword [ecx + 0xfd48]
test esi, esi
je 0x10191ff8
add ecx, 0xf968
mov edx, ecx
cmp dword [edx], 1
je 0x10191db3
inc eax
add edx, 0x20
cmp eax, esi
jb 0x10191da1
jmp 0x10191ff8
cmp eax, 0x1f
jne 0x10191dd2
xor eax, eax
nop word [eax + eax]
cmp dword [ecx], 1
je 0x10191de4
inc eax
add ecx, 0x20
cmp eax, esi
jb 0x10191dc0
jmp 0x10191ff8
cmp eax, 0xffffffff
je 0x10191ff8
cmp eax, 0x1f
jae 0x10191ff8
mov edx, dword [esp + 0x18]
shl eax, 5
mov ecx, dword [edx + 0x10]
cmp dword [eax + ecx + 0xf96c], 0
setne al
test al, al
je 0x10191ff8
push 0xae
lea eax, [esp + 0x404]
mov dword [esp + 0x3f4], 0x4e564441
push 0
push eax
mov dword [esp + 0x400], 0x10004
mov dword [esp + 0x404], 0xbe
mov dword [esp + 0x408], 0x4e564458
call fcn.10425c00
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x3fc]
add esp, 0xc
mov dword [esp + 0x400], 0xffffffff
mov ecx, esi
mov dword [esp + 0x274], eax
mov dword [esp + 0x270], 0xbe
push dword [esi + 0xf54]
call fcn.101d03c0
lea ecx, [esp + 0x66]
mov dword [esp + 0x8c], 0
push ecx
lea ecx, [esp + 0x84]
mov byte [esp + 0x6b], 0
push ecx
lea ecx, [esp + 0x6f]
mov dword [esp + 0x88], 0
push ecx
lea ecx, [esp + 0x98]
mov byte [esp + 0x72], 0
push ecx
push eax
mov ecx, esi
call fcn.101d05b0
mov esi, dword [esp + 0x274]
xor ecx, ecx
mov al, byte [esp + 0x80]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], esi
mov byte [esi + 0xad], al
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0xd2e8], 0x99941284
mov eax, dword [esi + 0xa9]
sete cl
and eax, 0xfffffffe
or ecx, eax
mov dword [esi + 0xa9], ecx
movzx eax, byte [edx + 0x1038]
add eax, eax
xor eax, ecx
and eax, 2
xor eax, ecx
mov dword [esi + 0xa9], eax
movzx ecx, byte [edx + 0x1039]
shl ecx, 2
xor ecx, eax
and ecx, 4
xor ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xa9], ecx
mov edx, dword [edx + 0x1034]
shl edx, 4
xor edx, ecx
and edx, 0x30
xor edx, ecx
mov dword [esi + 0xa9], edx
mov eax, dword [eax + 0xfe8]
test eax, eax
je 0x10191f6b
cmp byte [eax + 4], 0
je 0x10191f6b
cmp byte [eax + 0x129], 0
je 0x10191f6b
mov eax, 1
jmp 0x10191f6d
xor eax, eax
and edx, 0xffffffbf
shl eax, 6
or eax, edx
mov dword [esi + 0xb2], 0
mov edx, dword [esp + 0x18]
mov dword [esi + 0xa9], eax
mov ecx, dword [edx + 0x10]
cmp dword [ecx + 0xd3a8], 1
je 0x10191fa5
cmp dword [ecx + 0xd3b0], 1
je 0x10191fa5
xor ecx, ecx
jmp 0x10191faa
mov ecx, 0x200
and eax, 0xfffffdff
mov dword [esp + 0x48], 0xffffffff
or eax, ecx
mov dword [esi + 0xa9], eax
xor eax, eax
mov edx, dword [edi + 4]
mov esi, dword [edi]
test edx, edx
je 0x10191fed
nop word [eax + eax]
mov ecx, dword [esi + eax*4]
test ecx, ecx
je 0x10191fe2
mov ecx, dword [ecx + 0x114]
cmp ecx, 0xffffffff
jne 0x10191fe9
inc eax
cmp eax, edx
jb 0x10191fd0
jmp 0x10191fed
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x1c]
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov esi, dword [esp + 0x18]
mov eax, dword [edx]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x18c]
mov ecx, dword [eax + 8]
lea eax, [ecx + 8]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [esi + 0x10]
push ecx
push dword [esp + 0x28]
mov dword [esp + 0x64], ecx
push edx
push ecx
mov ecx, dword [eax + 0x7a68]
mov ecx, dword [ecx + 8]
call fcn.101e4ba0
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x10192127
cmp dword [ecx], 0x73655243
mov edx, dword [edi + 0x18]
jne 0x1019211f
mov eax, dword [ecx + 0x18]
shr eax, 4
cmp edx, eax
jae 0x1019211f
cmp dword [ecx + 0x14], 0
je 0x1019211f
mov eax, dword [ecx + 0x14]
mov edx, dword [eax + edx*4]
mov eax, dword [edx + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x1019208e
test eax, eax
je 0x1019208e
xor cl, cl
jmp 0x10192090
mov cl, 1
xor eax, eax
test cl, cl
cmovne eax, edx
mov dl, byte [esp + 0x13]
mov byte [esp + 0x12], dl
test eax, eax
je 0x10192127
cmp byte [esi + 8], 0
mov al, byte [eax + 0x96]
mov byte [esp + 0x2b], al
jne 0x101920bf
call fcn.10450c0b
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xbe2c]
mov ecx, dword [eax + 0x11c0]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
mov dh, al
xor ecx, ecx
mov al, byte [esp + 0x13]
mov byte [esp + 0x12], al
cmp dword [esp + 0x24], ecx
jbe 0x10192127
mov dl, byte [esp + 0x2b]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x10192116
test byte [eax + 0x96], 0x10
je 0x10192116
test dl, 0x10
jne 0x10192116
test dh, dh
jne 0x1019173f
inc ecx
cmp ecx, dword [esp + 0x24]
jb 0x101920f5
jmp 0x10192127
mov al, byte [esp + 0x13]
mov byte [esp + 0x12], al
cmp byte [esp + 0x38], 0
jne 0x10192239
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x162c]
shr eax, 0xf
test al, 1
je 0x10192239
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x7a68]
mov ecx, dword [eax + 8]
mov dword [esp + 0x2c], ecx
mov eax, dword [ecx + 0x20]
cmp eax, dword [ecx + 0x1c]
je 0x10192179
cmp dword [ecx + 0x18], eax
jne 0x10192239
mov eax, dword [ecx + 0x14]
cmp eax, dword [ecx + 0x10]
je 0x10192239
xor eax, eax
mov dword [esp + 0x48], eax
cmp dword [esp + 0x24], eax
jbe 0x10192239
mov edx, dword [esp + 0x1c]
nop dword [eax]
mov esi, dword [edx + eax*4]
test esi, esi
je 0x101921cc
mov edx, dword [ecx + 0x90]
test edx, edx
je 0x101921c8
xor eax, eax
test edx, edx
je 0x101921d9
add ecx, 0x50
nop word [eax + eax]
cmp dword [ecx], esi
je 0x101921bc
inc eax
add ecx, 4
cmp eax, edx
jb 0x101921b0
cmp eax, edx
jne 0x101921d9
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x48], eax
cmp eax, dword [esp + 0x24]
jb 0x10192190
jmp 0x10192239
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x11d8]
mov ecx, dword [esi + 0x5e0]
test ecx, ecx
je 0x10192239
mov eax, dword [ecx + 0x20]
cmp eax, dword [ecx + 0x1c]
je 0x10192202
cmp dword [ecx + 0x18], eax
jne 0x1019222a
mov eax, dword [ecx + 0x14]
cmp eax, dword [ecx + 0x10]
je 0x1019222a
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x84]
push 1
call fcn.1001e7f0
mov dword [eax], 0
lea ecx, [eax + 4]
mov eax, dword [esp + 0x84]
mov dword [eax + 0x20], ecx
mov ecx, dword [esi + 0x5e0]
push 1
push 1
call fcn.101e43f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + ecx*4 - 4]
test eax, eax
je 0x101922b2
test byte [eax + 0xef], 1
je 0x101922b2
mov ecx, dword [edi + 0x14]
lea esi, [edi + 0x18]
test ecx, ecx
je 0x101922cb
cmp dword [ecx], 0x73655243
mov edx, dword [esi]
jne 0x1019236a
mov eax, dword [ecx + 0x18]
shr eax, 4
cmp edx, eax
jae 0x1019236a
cmp dword [ecx + 0x14], 0
je 0x1019236a
mov eax, dword [ecx + 0x14]
mov edx, dword [eax + edx*4]
mov eax, dword [edx + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x1019229d
test eax, eax
je 0x1019229d
xor cl, cl
jmp 0x1019229f
mov cl, 1
mov ch, byte [esp + 0x12]
xor eax, eax
test cl, cl
mov byte [esp + 0x12], ch
cmovne eax, edx
test eax, eax
je 0x101922cb
push dword [edi + 0x10]
mov ecx, dword [edi + 0x38]
push dword [edi + 4]
push dword [edi]
mov ecx, dword [ecx + 0xf7c]
call fcn.1007bc80
lea esi, [edi + 0x18]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
test byte [ecx + 0x162c], 0x40
je 0x10192303
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0xec20]
mov eax, dword [eax + edx*4 - 4]
push dword [eax + 0x20c]
push dword [esp + 0x3c]
call fcn.101f54a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push dword [esp + 0x38]
push dword [ecx]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 0xec20]
call fcn.101f58c0
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x10192394
cmp dword [ecx], 0x73655243
mov edx, dword [esi]
jne 0x1019238a
mov eax, dword [ecx + 0x18]
shr eax, 4
cmp edx, eax
jae 0x1019238a
cmp dword [ecx + 0x14], 0
je 0x1019238a
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x10192377
test eax, eax
je 0x10192377
xor al, al
xor esi, esi
test al, al
mov al, byte [esp + 0x12]
mov byte [esp + 0x12], al
cmovne esi, ecx
jmp 0x1019239a
mov al, byte [esp + 0x12]
mov byte [esp + 0x12], al
jmp 0x101922cb
mov al, 1
xor esi, esi
test al, al
mov al, byte [esp + 0x12]
mov byte [esp + 0x12], al
cmovne esi, ecx
jmp 0x1019239a
mov al, byte [esp + 0x12]
mov byte [esp + 0x12], al
jmp 0x10192398
mov al, byte [esp + 0x12]
xor esi, esi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x48], esi
mov byte [esp + 0x13], al
cmp dword [edx + 0x12dc], 0
je 0x1019246c
mov ecx, dword [edx]
mov eax, dword [ecx + 0x162c]
shr eax, 0xf
test al, 1
je 0x101923eb
mov eax, dword [ecx + 0xf7d8]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x101923ef
cmp byte [eax + 0x18], 1
jbe 0x101923ef
mov eax, dword [ecx + 0x10]
cmp dword [eax + 0xf940], 2
je 0x10192468
jmp 0x101923ef
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 0xf7c]
cmp byte [eax + 0xb38], 0
jge 0x1019246c
cmp dword [0x11d0c744], 0
mov eax, dword [esp + 0x54]
je 0x10192427
cmp dword [eax + 4], 0x58544e43
jne 0x10192427
mov eax, dword [eax]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [eax + 8], 0
mov eax, dword [eax + 0xf7c]
mov ecx, dword [eax + 0xb3c]
mov dword [0x11d0d92c], ecx
test ecx, ecx
je 0x10192462
test byte [ecx + 0xa4], 1
jne 0x1019245b
mov eax, dword [ecx + 0xc8]
shr eax, 1
test al, 1
je 0x10192462
test byte [ecx + 0xb0], 0x40
je 0x10192462
mov eax, 1
jmp 0x10192464
xor eax, eax
test al, al
je 0x1019246c
mov cl, 0x80
jmp 0x1019246e
xor cl, cl
mov al, byte [edx + 0xf5b]
xorps xmm0, xmm0
and al, 0x7f
movaps xmmword [esp + 0x90], xmm0
or al, cl
movq qword [esp + 0xa0], xmm0
mov ecx, dword [esp + 0x14]
mov byte [edx + 0xf5b], al
lea eax, [esp + 0x90]
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0x160]
push eax
push esi
mov esi, dword [esp + 0x2c]
mov edx, dword [esi]
call fcn.101f25a0
lea eax, [esp + 0x90]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
cmp dword [ecx + 0xd31c], 0
je 0x101925ab
mov eax, dword [esp + 0x24]
mov esi, dword [esi + eax*4 - 4]
mov eax, dword [esi + 0x20c]
mov eax, dword [eax + 0x18c]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x101924fc
mov eax, dword [eax + 0x10]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x101925a7
test byte [eax + 0xef], 1
je 0x101925a7
cmp byte [eax + 0x280], 0
jne 0x101925a7
cmp dword [ecx + 0xd324], 0
je 0x101925a7
mov eax, dword [eax + 0x20c]
movsx eax, byte [eax + 0x58]
push eax
mov eax, dword [esi + 0x20c]
movsx eax, byte [eax + 0x58]
push eax
call fcn.10020900
test al, al
je 0x101925a7
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x80]
xor eax, dword [esi + 0x80]
test al, al
jne 0x101925a7
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x12dc], 0
jne 0x10192579
push eax
call fcn.101c9d20
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x12dc]
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x101925ab
mov eax, dword [eax + 0x10]
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esi + eax*4 - 4]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x18c]
or byte [eax + 0x18], 2
jmp 0x101925ab
mov esi, dword [esp + 0x1c]
mov ecx, edi
call fcn.101f0a30
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0xfec]
test ecx, ecx
je 0x10192c8a
mov eax, dword [esp + 0x24]
mov eax, dword [esi + eax*4 - 4]
test byte [eax + 0xef], 1
jne 0x10192c8a
mov eax, dword [esp + 0x24]
xorps xmm0, xmm0
movq qword [ecx + 0x6c], xmm0
mov byte [ecx + 0x74], 0
mov eax, dword [esi + eax*4 - 4]
mov eax, dword [eax + 0x20c]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x38]
cmp dword [eax + 0x1004], 0
jne 0x10192649
push 0x1046c3d0
push 0
push 0xf001f
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov ecx, dword [edi + 0x38]
mov dword [ecx + 0x1004], eax
mov eax, dword [edi + 0x38]
mov eax, dword [eax + 0x1004]
test eax, eax
je 0x10192649
push 0x80000
push 0
push 0
push 0xf001f
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, dword [edi + 0x38]
mov dword [ecx + 0x1008], eax
mov eax, dword [edi + 0x38]
cmp dword [eax + 0x1004], 0
je 0x101926a9
mov eax, dword [eax + 0x1008]
test eax, eax
je 0x101926a9
mov ecx, dword [eax + 0xa10]
mov eax, dword [eax + 0xa14]
mov dword [esp + 0x2c], eax
mov eax, ecx
and eax, 3
cmp al, 3
jne 0x101926a9
mov esi, ecx
and esi, 0x3fc
cmp esi, 0x190
ja 0x101926a9
and ecx, 0x3fc00
cmp ecx, 0x19000
ja 0x101926a9
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [esp + 0x2c], eax
jne 0x101926a9
test esi, esi
setne al
jmp 0x101926ca
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0xd43d], 0
je 0x10192795
cmp dword [eax + 0xd440], 0
seta al
mov esi, dword [esp + 0x44]
test al, al
je 0x10192799
cmp byte [esi + 0x284], 0
jne 0x10192799
xor eax, eax
mov ecx, edi
mov word [esp + 0xd5], ax
mov byte [esp + 0xd7], al
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.101f1c40
movss xmm0, dword [esp + 0x7c]
mov eax, dword [esi + 0xc]
movss xmm1, dword [esp + 0x78]
mov dword [esp + 0xc4], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x18]
movss dword [esp + 0xd0], xmm0
xorps xmm0, xmm0
ucomiss xmm1, xmm0
mov dword [esp + 0xbc], 0x1c
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc0], 1
movss dword [esp + 0xcc], xmm1
mov al, byte [eax + 0xd43c]
lahf
mov byte [esp + 0xd4], al
test ah, 0x44
jnp 0x10192799
lea eax, [esp + 0xbc]
push eax
push ecx
mov ecx, dword [edi + 0x38]
push esi
push esi
push 7
mov ecx, dword [ecx + 0xfec]
call fcn.100f4a30
jmp 0x10192799
mov esi, dword [esp + 0x44]
mov ecx, edi
mov byte [esi + 0x284], 0
call fcn.101f1b80
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x10]
cmp dword [eax + 0xd438], 0
je case.0x101927e7.8
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov ecx, dword [eax + ecx*4 - 4]
mov eax, dword [ecx + 0x20c]
movsx eax, byte [eax + 0x58]
add eax, 0xfffffff9
cmp eax, 0x52
ja case.0x101927e7.8
movzx eax, byte [eax + 0x10193c74]
jmp dword [eax*4 + 0x10193c6c]
test byte [ecx + 0x1ae], 0x20
je case.0x101927e7.8
test byte [ecx + 0x95], 8
je case.0x101927e7.8
mov al, byte [esp + 0x13]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [eax + 0x13f4]
call fcn.101f1a40
test al, al
je case.0x101927e7.8
mov eax, dword [esi + 0xc]
mov cl, byte [esp + 0x13]
mov dword [esp + 0xe0], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x18]
mov byte [esp + 0x12], cl
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xd438]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xd8], 0x14
mov dword [esp + 0xdc], 1
test eax, eax
je case.0x101927e7.8
lea eax, [esp + 0xd8]
push eax
push ecx
mov ecx, dword [edi + 0x38]
push esi
push esi
push 5
mov ecx, dword [ecx + 0xfec]
call fcn.100f4a30
mov al, byte [esp + 0x13]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + ecx*4 - 4]
mov dword [esp + 0x68], eax
mov eax, dword [eax + 0x22c]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10192b06
mov eax, dword [esp + 0x14]
mov ecx, edi
mov esi, dword [eax + 0xfec]
call fcn.101f1410
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0x1c]
push dword [eax + ecx*4 - 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x13f4]
call fcn.101f1a40
test al, al
jne 0x101928f4
cmp byte [esp + 0x2b], al
je 0x10192b02
cmp dword [esi + 4], 0
jne 0x1019290b
push 3
mov ecx, esi
call fcn.100f4930
test al, al
je 0x10192b02
mov eax, dword [esi + 0x10]
shr eax, 3
not al
test al, 1
je 0x1019295a
mov eax, dword [esi + 0x30]
test eax, eax
jne 0x1019293e
push 0x10
push 0x4c
call fcn.10434a32
add esp, 8
test eax, eax
je 0x10192939
push 1
mov ecx, eax
call fcn.100f3a00
jmp 0x1019293b
xor eax, eax
mov dword [esi + 0x30], eax
push eax
mov eax, dword [esp + 0x6c]
mov ecx, esi
push dword [eax + 0x22c]
push dword [eax + 0x20c]
call fcn.100f5350
or dword [esi + 0x10], 8
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push 0
mov eax, dword [esi + eax*4 - 4]
push dword [eax + 0x114]
call fcn.101d86e0
test al, al
je 0x10192b02
mov eax, dword [esp + 0x24]
mov ecx, edi
mov eax, dword [esi + eax*4 - 4]
push dword [eax + 0x114]
call fcn.101f2290
test eax, eax
jne 0x101929af
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
test byte [eax + 0xd570], 2
je 0x10192b02
mov eax, dword [esp + 0x2c]
xor edx, edx
mov eax, dword [eax + 0x18c]
mov eax, dword [eax + 8]
test eax, eax
mov dword [esp + 0x70], eax
lea esi, [eax + 8]
mov ecx, esi
cmove ecx, edx
mov edx, ecx
mov eax, dword [ecx + 0xc0]
test eax, eax
cmovne edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], edx
mov edx, dword [eax + 0x107c]
mov dword [esp + 0x54], edx
cmp byte [edx + 0x21], 0
je 0x10192ad6
mov eax, dword [esp + 0x68]
cmp dword [eax + 0xa54], 1
je 0x10192ad6
cmp dword [esp + 0x70], 0
je 0x10192ac8
test esi, esi
je 0x10192ac8
cmp dword [ecx], 0
je 0x10192ac8
mov eax, dword [esi + 0xc0]
test eax, eax
cmovne esi, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x11d4]
mov ecx, dword [eax + 4]
mov dword [esp + 0x70], ecx
mov edx, dword [edx + ecx*4 + 0x830]
cmp dword [esi + ecx*4 + 0x9cc], edx
je 0x10192a72
mov eax, dword [esi + 0xa50]
btr eax, ecx
mov dword [esi + 0xa50], eax
mov dword [esi + ecx*4 + 0x9cc], edx
cmp dword [esi + 0xa4c], edx
jae 0x10192a72
mov dword [esi + 0xa4c], edx
mov edx, dword [esi + 0x9c0]
mov eax, 1
shl eax, cl
test eax, edx
je 0x10192a8d
mov cl, byte [esp + 0x12]
mov byte [esp + 0x12], cl
jmp 0x10192ac8
push 0
push ecx
mov ecx, dword [esp + 0x5c]
push esi
call fcn.10287930
test eax, eax
jns 0x10192ac0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x70]
mov dword [edx + ecx*4 + 0x17c4], eax
mov ecx, dword [edx + 0x17c0]
mov dl, byte [esp + 0x12]
mov byte [esp + 0x12], dl
mov dword [ecx + 8], eax
jmp 0x10192ac8
mov al, byte [esp + 0x12]
mov byte [esp + 0x12], al
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0xa54], 1
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4 - 4]
mov ecx, edi
push dword [eax + 0x114]
mov eax, dword [esp + 0x48]
push 3
push dword [esp + 0x34]
push eax
call fcn.101f2340
push ecx
mov ecx, edi
call fcn.101f1e00
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4 - 4]
push eax
mov ecx, dword [eax + 0x114]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x13f4]
call fcn.101f1a40
mov ecx, dword [edi + 0x38]
mov byte [esp + 0x2b], al
cmp dword [ecx + 0x1004], 0
jne 0x10192b7e
push 0x1046c3d0
push 0
push 0xf001f
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov ecx, dword [edi + 0x38]
mov dword [ecx + 0x1004], eax
mov eax, dword [edi + 0x38]
mov eax, dword [eax + 0x1004]
test eax, eax
je 0x10192b7e
push 0x80000
push 0
push 0
push 0xf001f
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, dword [edi + 0x38]
mov dword [ecx + 0x1008], eax
mov esi, dword [edi + 0x38]
cmp dword [esi + 0x1004], 0
je 0x10192c86
mov esi, dword [esi + 0x1008]
test esi, esi
je 0x10192c86
movups xmm0, xmmword [esi + 0xa18]
mov eax, dword [esi + 0xa30]
mov dword [esp + 0x68], eax
movups xmmword [esp + 0x130], xmm0
movq xmm0, qword [esi + 0xa28]
movq qword [esp + 0x140], xmm0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, dword [esp + 0x140]
mov cl, byte [esp + 0x144]
cmp edx, eax
je 0x10192be6
test cl, cl
je 0x10192c7f
cmp byte [esi + 0xa3a], 1
je 0x10192c7f
mov eax, dword [edi + 0x38]
mov eax, dword [eax + 0xfec]
mov al, byte [eax + 0x6f]
mov byte [esi + 0xa38], al
mov dword [esi + 0xa34], edx
mov byte [esi + 0xa39], 0
mov byte [esi + 0xa3b], cl
test al, al
jne 0x10192c75
xor cl, cl
cmp byte [esp + 0x2b], cl
jne 0x10192c2d
mov byte [esi + 0xa39], 2
mov cl, 2
mov eax, dword [edi + 0x38]
mov eax, dword [eax]
cmp byte [eax + 0xd56c], 0
jne 0x10192c44
or cl, 1
mov byte [esi + 0xa39], cl
mov ecx, dword [edi + 0x38]
push 0
push dword [esp + 0x30]
call fcn.101d86e0
test al, al
jne 0x10192c5d
or byte [esi + 0xa39], 8
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffffff
je 0x10192c7f
cmp dword [esp + 0x68], eax
je 0x10192c7f
or byte [esi + 0xa39], 0x20
jmp 0x10192c7f
mov ecx, dword [esp + 0x68]
mov dword [esi + 0xa3c], ecx
mov byte [esi + 0xa3a], 0
mov edx, dword [esp + 0x14]
cmp byte [esp + 0x38], 0
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
je 0x10192cdb
mov ecx, dword [edx]
mov eax, dword [ecx + 0x162c]
shr eax, 7
test al, 1
je 0x10192cdb
mov ecx, dword [ecx + 0xf7d4]
test ecx, ecx
je 0x10192cdb
mov eax, dword [esp + 0x1c]
push dword [eax]
call fcn.101fbc30
mov edx, dword [esp + 0x18]
test al, al
je 0x10192cdf
mov esi, dword [edx + 0x10]
cmp dword [esi + 0xf940], 2
jne 0x10192cdf
mov byte [esp + 0x54], 1
jmp 0x10192cea
mov edx, dword [esp + 0x18]
mov esi, dword [edx + 0x10]
mov byte [esp + 0x54], 0
mov eax, dword [esp + 0x1c]
mov cl, 0x36
mov eax, dword [eax]
mov eax, dword [eax + 0x20c]
mov dword [esp + 0x70], eax
mov edx, dword [eax + 0x18c]
mov eax, dword [edx + 0x48]
mov edx, dword [edx + 0x4c]
call fcn.10451430
test al, 1
je 0x10192d67
cmp dword [esi + 0xf940], 2
jne 0x10192d67
mov ecx, dword [esi + 0xf7d4]
test ecx, ecx
je 0x10192d67
mov eax, dword [esp + 0x70]
push dword [eax + 0x190]
call fcn.101fbc30
test al, al
je 0x10192d67
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + 0x162c]
shr eax, 0xf
test al, 1
jne 0x10192d67
mov eax, dword [ecx + 0xbe2c]
mov eax, dword [eax + 0xf7c]
cmp byte [eax + 0xb38], 0
jge 0x10192e27
mov esi, dword [esp + 0x14]
mov dl, byte [esp + 0x13]
mov eax, dword [esi]
mov eax, dword [eax + 0xbe28]
cmp dword [eax + 0x24d0], 0
je 0x10192d98
mov eax, dword [esi + 0x11a4]
test eax, eax
je 0x10192d98
cmp byte [eax + 4], 0
mov byte [esp + 0x12], dl
jne 0x10192e2b
cmp byte [esp + 0x38], 0
jne 0x10192dab
cmp byte [esp + 0x23], 0
mov byte [esp + 0x2c], 0
je 0x10192db0
mov byte [esp + 0x2c], 1
mov dword [esp + 0x74], 0xffffffff
mov eax, dword [edi + 0x38]
test eax, eax
jne 0x10192dc9
mov byte [esp + 0x33], al
mov byte [esp + 0x12], dl
jmp 0x10192e2b
mov eax, dword [eax]
mov ecx, dword [eax + 0x6910]
test ecx, ecx
jne 0x10192ddf
mov byte [esp + 0x33], cl
mov byte [esp + 0x12], dl
jmp 0x10192e2b
mov eax, dword [ecx]
mov dl, byte [edi + 0x23]
mov esi, dword [eax + 0xc8]
mov al, byte [edi + 0x24]
lea edi, [esp + 0x74]
push edi
mov edi, dword [esp + 0x54]
push dword [edi + 4]
push dword [edi]
lea edi, [esp + 0x164]
push edi
push eax
push edx
push dword [esp + 0x6c]
push dword [esp + 0x7c]
push dword [esp + 0x4c]
call esi
mov edi, dword [esp + 0x50]
cmp eax, 1
mov al, byte [esp + 0x13]
sete byte [esp + 0x33]
mov byte [esp + 0x12], al
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 0x11c8]
mov eax, dword [esp + 0x1c]
test edx, edx
je 0x10192e60
mov ecx, dword [eax]
test ecx, ecx
je 0x10192e60
cmp byte [esp + 0x38], 0
jne 0x10192e51
cmp byte [esp + 0x23], 0
jne 0x10192e51
xor al, al
jmp 0x10192e53
mov al, 1
push eax
push ecx
mov ecx, edx
call fcn.10281ac0
mov eax, dword [esp + 0x1c]
cmp byte [esp + 0x38], 0
jne 0x10192e7a
cmp byte [edi + 0x23], 0
jne 0x10192e7a
cmp byte [esp + 0x23], 0
jne 0x10192e7a
cmp byte [edi + 0x24], 0
je 0x10192eb0
mov ecx, dword [esi + 0x11c0]
test ecx, ecx
je 0x10192ea2
mov edx, dword [eax]
test edx, edx
je 0x10192ea2
test byte [edx + 0xd8], 1
je 0x10192ea2
mov eax, dword [ecx]
push edx
push dword [edx + 0x114]
call dword [eax + 0x178]
mov ecx, edi
call fcn.101f0900
mov ecx, edi
call fcn.101f09b0
mov eax, dword [esi]
mov eax, dword [eax + 0xbe28]
cmp dword [eax + 0x24d0], 0
je 0x10192ed5
mov eax, dword [esi + 0x11a4]
test eax, eax
je 0x10192ed5
cmp byte [eax + 4], 0
jne 0x10192f80
mov eax, dword [esp + 0x1c]
mov cl, 0x36
mov eax, dword [eax]
mov esi, dword [eax + 0x20c]
mov edx, dword [esi + 0x18c]
mov eax, dword [edx + 0x48]
mov edx, dword [edx + 0x4c]
call fcn.10451430
test al, 1
je 0x10192f50
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0xf940], 2
jne 0x10192f50
mov ecx, dword [eax + 0xf7d4]
test ecx, ecx
je 0x10192f50
push dword [esi + 0x190]
call fcn.101fbc30
test al, al
je 0x10192f50
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + 0x162c]
shr eax, 0xf
test al, 1
jne 0x10192f50
mov eax, dword [ecx + 0xbe2c]
mov eax, dword [eax + 0xf7c]
cmp byte [eax + 0xb38], 0
jge 0x10192f7c
cmp byte [esp + 0x38], 0
jne 0x10192f62
cmp byte [esp + 0x23], 0
jne 0x10192f62
xor al, al
jmp 0x10192f64
mov al, 1
push dword [esp + 0x54]
mov ecx, edi
push dword [esp + 0x64]
push eax
call fcn.101f1510
mov al, byte [esp + 0x12]
mov byte [esp + 0x12], al
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4 - 4]
mov eax, dword [eax + 0x20c]
mov ecx, dword [eax + 0x18c]
test byte [ecx + 0x18], 2
je 0x10192fbc
push dword [esi + 0x12dc]
push esi
call fcn.1004eba0
mov eax, dword [esi + 0x12dc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x160], eax
jmp 0x10192fc4
push ecx
mov ecx, esi
call fcn.101d6620
mov eax, dword [esp + 0x18]
push ecx
push dword [esp + 0x28]
mov eax, dword [eax + 0x10]
push dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x7a68]
mov ecx, dword [ecx + 8]
call fcn.101e4ba0
mov edx, dword [esi]
mov ecx, dword [edx + 0x162c]
mov eax, ecx
shr eax, 7
test al, 1
je 0x101930e7
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x10]
cmp dword [esi + 0xf940], 2
jne 0x101930e7
mov eax, dword [esp + 0x14]
mov al, byte [eax + 0xf5b]
test al, 2
je 0x101930e7
cmp byte [0x11d0d1e7], 0
jne 0x101930e7
cmp dword [edx + 0x2d0], 0x2000
jae 0x101930e7
test al, al
jns 0x10193068
shr ecx, 0xf
test cl, 1
je 0x10193068
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x11d4]
test ecx, ecx
je 0x10193068
call fcn.1004d310
test al, al
jne 0x101930e7
mov eax, dword [esi + 0xf7d4]
test eax, eax
je 0x1019307b
cmp dword [eax + 0x340], 0
jne 0x101930e7
mov eax, dword [esp + 0x14]
push 0
push ecx
mov ecx, dword [edx + 0xf93c]
mov esi, dword [eax + 0x11d8]
and ecx, 0xf
mov eax, dword [edx + 0xf880]
mov edx, dword [edx + 0xf884]
push 0
push dword [esp + 0x68]
shl ecx, 3
call fcn.10451430
mov edx, dword [esp + 0x24]
mov ecx, dword [edx]
mov edx, 1
mov ecx, dword [ecx + 0xf944]
shl edx, cl
mov ecx, esi
dec edx
and eax, edx
movzx eax, al
push eax
call fcn.101c9650
mov eax, dword [esp + 0x18]
mov byte [esi + 0x684], 0
mov esi, dword [eax + 0x10]
mov al, byte [esp + 0x12]
mov byte [esp + 0x12], al
jmp 0x101930f1
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx + 0x10]
mov eax, dword [esp + 0x1c]
mov cl, 0x36
mov eax, dword [eax]
mov eax, dword [eax + 0x20c]
mov dword [esp + 0x5c], eax
mov edx, dword [eax + 0x18c]
mov eax, dword [edx + 0x48]
mov edx, dword [edx + 0x4c]
call fcn.10451430
test al, 1
je 0x1019316c
cmp dword [esi + 0xf940], 2
jne 0x1019316c
mov ecx, dword [esi + 0xf7d4]
test ecx, ecx
je 0x1019316c
mov eax, dword [esp + 0x5c]
push dword [eax + 0x190]
call fcn.101fbc30
mov esi, dword [esp + 0x18]
test al, al
je 0x10193170
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 0x162c]
shr eax, 0xf
test al, 1
jne 0x10193170
mov eax, dword [ecx + 0xbe2c]
mov eax, dword [eax + 0xf7c]
cmp byte [eax + 0xb38], 0
jge 0x10193190
jmp 0x10193170
mov esi, dword [esp + 0x18]
mov al, byte [esp + 0x22]
test al, al
jne 0x1019317e
cmp byte [esp + 0x23], al
je 0x10193180
mov al, 1
push eax
mov ecx, edi
call fcn.101f0c80
mov al, byte [esp + 0x12]
mov byte [esp + 0x12], al
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x15c]
push eax
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
call fcn.101f3510
mov ecx, dword [esi + 0x10]
xor eax, eax
mov esi, dword [ecx + 0xfd48]
test esi, esi
je 0x1019329b
add ecx, 0xf968
mov edx, ecx
nop dword [eax]
cmp dword [edx], 1
je 0x101931e2
inc eax
add edx, 0x20
cmp eax, esi
jb 0x101931d0
jmp 0x1019329b
cmp eax, 0x1f
jne 0x10193202
xor eax, eax
nop dword [eax]
cmp dword [ecx], 1
je 0x10193214
inc eax
add ecx, 0x20
cmp eax, esi
jb 0x101931f0
jmp 0x1019329b
cmp eax, 0xffffffff
je 0x1019329b
cmp eax, 0x1f
jae 0x1019329b
mov edx, dword [esp + 0x18]
shl eax, 5
mov ecx, dword [edx + 0x10]
cmp dword [eax + ecx + 0xf96c], 0
setne al
test al, al
je 0x1019329b
mov esi, dword [esp + 0x274]
test esi, esi
je 0x1019329b
push dword [esp + 0x90]
mov ecx, dword [esp + 0x18]
lea eax, [esi + 0x10]
push dword [esp + 0xa8]
push dword [esp + 0xa0]
push dword [esp + 0xa8]
push dword [esp + 0xa4]
push eax
call fcn.101f6200
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xbe2c]
cmp dword [eax + 0x1044], 0x6001
jb 0x1019329b
mov eax, dword [esp + 0x94]
movzx ecx, byte [esi + 0x95]
mov dword [eax + 0x27c], ecx
cmp byte [esp + 0x38], 0
mov esi, dword [esp + 0x14]
jne 0x101932cb
mov eax, dword [esi]
mov eax, dword [eax + 0x162c]
shr eax, 0xf
test al, 1
jne 0x101932c4
mov eax, dword [esi + 0xf7c]
cmp byte [eax + 0xb38], 0
jge 0x101932cb
mov cl, 1
call fcn.100fd980
mov ecx, dword [esi + 0xfe8]
test ecx, ecx
je 0x10193315
mov eax, dword [esp + 0x1c]
push dword [eax]
call fcn.10242670
mov ecx, dword [esi + 0xfe8]
test ecx, ecx
je 0x10193315
cmp byte [ecx + 4], 0
je 0x10193315
cmp byte [ecx + 0x129], 0
jne 0x10193315
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], 0
mov eax, dword [edx + eax*4 - 4]
mov dword [ecx + 0x210], eax
jmp 0x1019332c
lea eax, [esp + 0x158]
mov ecx, esi
push eax
call fcn.101d0f20
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0x20c]
mov ecx, dword [eax + 0x18c]
test byte [ecx + 0x18], 2
je 0x101933a9
cmp byte [esp + 0x38], 0
jne 0x10193362
cmp byte [esp + 0x23], 0
jne 0x10193362
push dword [esi + 0x12dc]
push esi
call fcn.1004ecc0
jmp 0x101933a9
mov eax, dword [edx]
mov ecx, dword [eax + 0x114]
mov eax, dword [esi + 0xf7c]
mov ecx, dword [eax + ecx*4 + 0xd34]
test ecx, ecx
je 0x10193395
mov ecx, dword [ecx + 0x20c]
push dword [esi + 0x12dc]
push esi
mov ecx, dword [ecx + 0x18c]
call fcn.1004ecc0
jmp 0x101933a9
mov eax, dword [esi + 0x11d8]
cmp dword [esi + 0x11d4], eax
je 0x101933a9
mov dword [esi + 0x11d4], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + 0xbe2c]
test byte [eax + 0x1088], 4
je 0x101934eb
mov eax, dword [esp + 0x48]
test eax, eax
je 0x101934eb
test byte [eax + 0xef], 1
je 0x101934eb
mov eax, dword [esi + 0x12dc]
test eax, eax
je 0x101934eb
mov esi, dword [esp + 0x160]
cmp esi, dword [eax + 0x10]
jne 0x101934e7
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1410]
cmp dword [eax + 0xd46f], 0
jne 0x101934e7
cmp dword [ecx + 0x2d0], 0x2400
jae 0x101934e7
push 0x34
lea eax, [esp + 0x3c0]
push 0
push eax
call fcn.10425c00
add esp, 0xc
lea ecx, [esp + 0x3bc]
mov edx, 0x34
push 0x1000135
push 0x4e564458
call fcn.101a5680
mov eax, dword [esp + 0x14]
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf8], 0x34
mov dword [esp + 0xfc], esi
mov eax, dword [eax + 0x11cc]
mov dword [esp + 0xec], eax
lea eax, [esp + 0x3bc]
mov dword [esp + 0xf4], eax
call fcn.1001db80
lea ecx, [esp + 0xec]
push ecx
mov ecx, eax
call fcn.101d20e0
cmp dword [esp + 0x3ec], 0xc01e0008
mov esi, dword [esp + 0x14]
jne 0x101934eb
mov eax, dword [esi + 0x11d8]
mov ecx, esi
mov eax, dword [eax + 0x10]
mov dword [edi + 0x30], eax
mov dword [esp + 0x160], eax
lea eax, [esp + 0x158]
push eax
call fcn.101d0f20
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
mov byte [eax + 0x280], 1
jmp 0x101934eb
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x38], 0
jne 0x101934ff
cmp byte [edi + 0x23], 0
jne 0x101934ff
cmp byte [esp + 0x23], 0
je 0x1019351e
cmp byte [edi + 0x24], 0
jne 0x1019351e
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi + 0xf7c]
mov ecx, dword [edx + 0x114]
mov dword [eax + ecx*4 + 0xd34], edx
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10193629
test byte [eax + 0xef], 1
je 0x10193629
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 8], 0
jne 0x1019354d
call fcn.10450c0b
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0xf7c]
cmp dword [eax + 0xbc8], 0
je 0x10193629
cmp byte [ecx + 8], 0
jne 0x1019357e
call fcn.10450c0b
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0xf7c]
mov eax, dword [eax + 0xbc8]
cmp byte [eax + 2], 0
je 0x10193629
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x18c]
test byte [eax + 0x18], 2
je 0x101935d0
cmp dword [esi + 0x12dc], 0
je 0x101935d0
call fcn.1001db80
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x12dc]
jmp 0x101935f4
cmp byte [ecx + 8], 0
jne 0x101935e2
call fcn.10450c0b
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0x11d8]
cmp byte [ecx + 8], 0
mov eax, dword [eax + 0x10]
mov esi, dword [eax]
jne 0x1019360b
call fcn.10450c0b
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x10]
push esi
mov eax, dword [eax + 0xbe2c]
mov ecx, dword [eax + 0xf7c]
mov ecx, dword [ecx + 0xbc8]
call fcn.100d90c0
cmp byte [esp + 0x38], 0
mov esi, dword [esp + 0x14]
jne 0x10193659
mov eax, dword [esi]
mov eax, dword [eax + 0x162c]
shr eax, 0xf
test al, 1
jne 0x10193652
mov eax, dword [esi + 0xf7c]
cmp byte [eax + 0xb38], 0
jge 0x10193659
xor cl, cl
call fcn.100fd980
mov ecx, dword [esi + 0x11d0]
push 1
push 0
push dword [esi + 0x11d8]
mov eax, dword [ecx]
call dword [eax + 0x148]
mov eax, dword [esi]
mov eax, dword [eax + 0x162c]
shr eax, 7
test al, 1
je 0x10193693
mov eax, dword [esp + 0x1c]
push dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov edx, dword [eax]
call fcn.100fde90
cmp dword [esp + 0x58], 0
je 0x101937cf
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 0x7a68]
mov esi, dword [eax + 8]
add esi, 0xd60
test byte [esi + 0x58], 2
je 0x10193730
mov eax, dword [esi + 0x28]
lea edx, [esi + 0x48]
mov ecx, dword [esi + 0x2c]
add eax, 1
mov dword [esi + 0x28], eax
adc ecx, 0
mov dword [esp + 0x60], edx
mov dword [esi + 0x2c], ecx
cmp eax, 0xfffffff0
jbe 0x1019370a
inc ecx
mov dword [esi + 0x28], 1
push ecx
mov dword [esi + 0x2c], ecx
mov ecx, esi
push dword [esi + 0x28]
call fcn.100a9be0
mov ecx, dword [esi]
push 1
push 1
mov eax, dword [ecx + 0x20]
mov dword [esi + 0x48], eax
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x4c], eax
call fcn.101e43f0
jmp 0x1019370e
mov dword [esp + 0x60], edx
push dword [esi + 0x2c]
mov ecx, esi
push dword [esi + 0x28]
call fcn.100a9be0
mov ecx, dword [esi]
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + 0x20]
mov dword [edx], eax
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esi + 0x4c], eax
cmp byte [edx + 8], 0
jne 0x10193742
call fcn.10450c0b
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0x11d8]
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x1019376f
mov ecx, dword [esp + 0x58]
push 0
push eax
mov ecx, dword [ecx + 8]
call fcn.1004b890
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x58]
mov eax, dword [edx + 0x10]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0xf93c]
shl eax, 6
xor eax, dword [ecx + 0xa70]
and eax, 0x3c0
xor dword [ecx + 0xa70], eax
cmp byte [edx + 8], 0
jne 0x101937a8
call fcn.10450c0b
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0x11d8]
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x101937cb
mov ecx, dword [esi + 8]
push eax
call fcn.1004bab0
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x12], 0
je 0x10193837
mov ecx, dword [esi + 0x11d0]
push esi
mov eax, dword [ecx]
call dword [eax + 0x48]
mov eax, dword [esp + 0x18]
mov esi, dword [esi + 0x11d0]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0xe8c0], 1
jne 0x10193804
cmp dword [eax + 0xd828], 0
je 0x10193837
mov eax, dword [esi + 4]
xor ecx, ecx
mov edx, dword [esi]
cmp dword [eax + 0xe8c0], 1
setne cl
push ecx
push 0
mov ecx, esi
call dword [edx + 0x2c]
mov eax, dword [esi + 4]
mov dword [eax + 0xe8c0], 1
mov eax, dword [esi + 4]
mov dword [eax + 0xd828], 0
push 1
push 1
mov ecx, edi
call fcn.10190920
mov ecx, edi
call fcn.10190bd0
mov edx, dword [esp + 0x34]
cmp dword [edx + 0xc4c], 0
mov eax, dword [edx + 0x18]
movss xmm0, dword [eax + 0x7fe0]
movss dword [esp + 0x5c], xmm0
je 0x101938f9
mov eax, dword [edx + 0xc58]
test eax, eax
je 0x101938f9
cmp eax, dword [edx + 0xc50]
ja 0x101938f9
test dword [edx + 0xc10], 0x210
je 0x101938de
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
movss xmm0, dword [esp + 0x5c]
sub esi, dword [eax + 0xc00]
sbb edx, dword [eax + 0xc04]
mov eax, dword [eax + 0xc58]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x34]
shl ecx, 6
mov eax, dword [eax + 0xc4c]
mov dword [ecx + eax - 0x138], esi
mov dword [ecx + eax - 0x134], edx
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0xc58]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc4c]
shl ecx, 6
movss dword [ecx + eax - 0xa8], xmm0
mov edx, dword [esp + 0x14]
mov eax, 0x20
add edx, 0x11dc
mov dword [esp + 0x50], eax
mov esi, 1
mov dword [esp + 0x60], edx
test esi, esi
je 0x1019394b
mov ecx, dword [edx]
test ecx, ecx
je 0x1019394b
mov ecx, dword [ecx + 0x5e0]
mov eax, dword [ecx + 0x20]
cmp eax, dword [ecx + 0x1c]
je 0x10193947
cmp dword [ecx + 0x18], eax
jne 0x1019393a
mov eax, dword [ecx + 0x14]
cmp eax, dword [ecx + 0x10]
jne 0x10193947
push 1
push 1
call fcn.101e43f0
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
add edx, 4
rol esi, 1
sub eax, 1
mov dword [esp + 0x60], edx
mov dword [esp + 0x50], eax
jne 0x10193915
cmp dword [esp + 0x44], 0
jl 0x1019396b
mov ecx, edi
call fcn.101f0e40
cmp byte [edi + 0x22], 0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov eax, dword [eax + 0x114]
mov dword [edi + 0x1c], eax
jne 0x10193ac7
xor esi, esi
cmp dword [edi + 4], esi
jbe 0x10193ac7
nop
mov eax, dword [edi + 0x10]
mov edx, dword [eax + esi*4]
mov eax, dword [edx + 0x20c]
mov eax, dword [eax + 0x54]
cmp eax, 0x32595559
je 0x10193a98
cmp eax, 0x59565955
je 0x10193a98
cmp eax, 0x56555941
je 0x10193a98
cmp eax, 0x38504941
je 0x10193a98
cmp eax, 0x36314c50
je 0x10193a98
cmp eax, 0x46464c50
je 0x10193a98
cmp eax, 0x32315641
je 0x10193a98
cmp eax, 0x34344941
je 0x10193a98
cmp eax, 0x34344149
je 0x10193a98
cmp eax, 0x3432564e
je 0x10193a98
cmp eax, 0x39555659
je 0x10193a98
cmp eax, 0x32335649
je 0x10193a98
cmp eax, 0x31335649
je 0x10193a98
cmp eax, 0x39304649
je 0x10193a98
cmp eax, 0x69303234
je 0x10193a98
cmp eax, 0x444d564e
je 0x10193a98
cmp eax, 0x5044564e
je 0x10193a98
cmp eax, 0x434d564e
je 0x10193a98
cmp eax, 0x59595959
je 0x10193a98
cmp eax, 0x56555655
je 0x10193a98
cmp eax, 0x55555656
je 0x10193a98
cmp eax, 0x38574152
je 0x10193a98
cmp eax, 0x32315659
je 0x10193a98
cmp eax, 0x3231564e
je 0x10193a98
cmp eax, 0x53343434
je 0x10193a98
cmp eax, 0x30313453
je 0x10193a98
cmp eax, 0x30313050
je 0x10193a98
cmp eax, 0x56555949
je 0x10193a98
cmp eax, 1
jne 0x10193ab9
mov eax, dword [edi]
mov dword [esp + 0x5c], eax
mov ecx, dword [eax + esi*4]
cmp ecx, edx
je 0x10193ab9
test ecx, ecx
je 0x10193ab9
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x5c]
mov dword [eax + esi*4], 0
inc esi
cmp esi, dword [edi + 4]
jb 0x10193990
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xfe8]
test ecx, ecx
je 0x10193adc
push dword [edx]
call fcn.10242f70
mov esi, dword [esp + 0x44]
mov eax, dword [edi + 0x38]
xor edx, edx
mov ecx, 0x1f4
mov eax, dword [eax]
mov eax, dword [eax + 0x7d14]
div ecx
test edx, edx
jne 0x10193b0d
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
add ecx, 0x7e80
call fcn.10130290
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx]
call fcn.101dd390
mov eax, dword [edi + 0x38]
mov eax, dword [eax + 0x11d8]
mov dword [eax + 0x664], 0
mov eax, dword [edi + 0x38]
mov eax, dword [eax + 0x11d8]
mov dword [eax + 0x688], 0
mov eax, dword [edi + 0x38]
mov edx, dword [esp + 0x74]
test eax, eax
je 0x10193b95
mov eax, dword [eax]
mov ecx, dword [eax + 0x6910]
test ecx, ecx
je 0x10193b95
cmp byte [esp + 0x33], 0
je 0x10193b95
cmp edx, 3
ja 0x10193b95
mov eax, dword [ecx + edx*8 + 0x18]
mov ecx, dword [ecx + edx*8 + 0x1c]
test eax, eax
jne 0x10193b70
test ecx, ecx
je 0x10193b95
mov eax, dword [edi + 0x38]
mov eax, dword [eax]
mov ecx, dword [eax + 0x6910]
mov eax, dword [esp + 0x74]
mov edx, dword [ecx + eax*8 + 0x18]
mov eax, dword [esp + 0x74]
mov eax, dword [ecx + eax*8 + 0x1c]
mov dword [edx + 0x240], 0
mov dword [edi + 0x34], 0
test esi, esi
js 0x10193c24
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x4f4]
xor ecx, esp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x11d8]
mov esi, dword [eax + 0x10]
test esi, esi
jne 0x10193bd5
mov esi, 0x8007000e
jmp 0x10193ae0
push 0x12c
lea eax, [esp + 0x28c]
push 0
push eax
call fcn.10425c00
add esp, 0xc
mov dword [esp + 0x290], esi
lea eax, [esp + 0x28c]
mov ecx, edi
push eax
call fcn.10190760
mov esi, eax
test esi, esi
js 0x10193ae0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x288]
push eax
call fcn.101d0f20
mov esi, eax
jmp 0x10193ae0
call fcn.1027e6c0
push eax
lea eax, [esp + 0x114]
mov dword [esp + 0x124], 1
xorps xmm0, xmm0
mov ecx, 0x8007000e
push eax
movaps xmmword [esp + 0x118], xmm0
call fcn.1027e560
mov ecx, dword [esp + 0x4fc]
mov eax, 0x8007000e
pop edi
pop esi
xor ecx, esp
call fcn.1045066c
mov esp, ebp
pop ebp
ret