Function at 0x10036490
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x1180
call 0x10058243
mov eax, dword [edx]
mov edi, dword [ebp + 8]
mov dword [esp + 0x130], 6
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x148], eax
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], 0
mov ebx, dword [edi]
movzx eax, word [ebx + 0x120]
cmp eax, 0x8664
jne 0x10044dc5
movzx eax, word [ebx + 0x106]
and eax, 0xfffffffe
cmp ax, 2
jne 0x10036642
mov esi, dword [ebx + 0xd8]
xor eax, eax
sub esi, 1
cmovb esi, eax
movzx eax, word [ebx + 0x122]
and eax, 0xfffffffe
cmp ax, 2
jne 0x10036568
mov edx, dword [ebx + 0x12c]
cmp edx, 2
jb 0x10037546
mov edi, dword [ebx + 0x128]
cmp byte [edi + 0x2f], 0
jne 0x10036568
cmp byte [edi + 0x2e], 0
jne 0x10036568
cmp byte [edi + 0x2d], 0
jne 0x10036568
cmp byte [edi + 0x2c], 0
je 0x10036d0a
mov ecx, dword [ebx + 0x12c]
test ecx, ecx
je 0x10036642
mov eax, dword [ebx + 0x128]
mov edi, dword [ebp + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add eax, 8
jmp 0x1003659c
add eax, 0x28
add ecx, 0xffffffd8
je 0x10036642
mov edx, dword [eax + 0x18]
not edx
test edx, 0xa0000000
jne 0x10036590
mov edx, dword [ebx + 0xcc]
sub edx, dword [eax + 4]
jb 0x10036590
cmp edx, dword [eax]
jae 0x10036590
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310d79d
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xda41f9ad
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x10036640
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
mov ebx, dword [edi]
movzx eax, word [ebx + 0x122]
add eax, 0xfffffffe
cmp ax, 2
ja 0x1003667d
movzx eax, word [ebx + 0x106]
and eax, 0xfffffffe
cmp ax, 2
jne 0x1003667d
movzx eax, word [ebx + 0x126]
cmp eax, 0x2022
jne 0x1003667d
cmp dword [ebx + 0xcc], 0
je 0x10036a25
mov edi, dword [ebp + 8]
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x100366bc
cmp dword [eax + 0x18], 0
je 0x100366bc
cmp dword [eax + 0x12c], 3
jb 0x100366bc
mov edx, dword [eax + 0x128]
cmp byte [edx + 0x2f], 0
jne 0x100366bc
cmp byte [edx + 0x2e], 0
jne 0x100366bc
cmp byte [edx + 0x2d], 0
je 0x10036ae1
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
je 0x10036fc6
mov edx, edi
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
call fcn.10048e30
add esp, 4
xor edi, edi
lea esi, [0x310d169]
lea edx, [0x310d16a]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10036725
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [esi + 1]
cmove edx, esi
je 0x10036746
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x10036700
mov eax, dword [esp + 0x150]
test eax, eax
je 0x100367c3
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ecx, 0x50
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x100367e1
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x100367f7
mov ecx, dword [esp + 0x158]
mov eax, dword [esp + 0x154]
mov edi, dword [ebp + 8]
lea esi, [esp + 0x150]
mov dword [esp + 0x20], ecx
jmp 0x1003685b
movdqa xmm0, xmmword [esp + 0x70]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edx, dword [esp + 0x20]
lea esi, [esp + 0x150]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10036852
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov edx, 0x310dadd
mov ecx, dword [ecx + 0x10]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
push esi
push 7
call fcn.10046be0
add esp, 8
jmp 0x10036fc6
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
lea ecx, [esp + 0xdc]
mov dword [esp + 0x80], 4
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x1150], 0
mov dword [esp + 0xdc], esi
xor ebx, ebx
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x34]
mov ecx, dword [eax + 0x30]
lea eax, [edx + edx*8]
add edx, ecx
lea eax, [eax + eax*2]
add edx, eax
nop
add ecx, 0x1c
lea eax, [ecx - 0x1c]
cmp eax, edx
je 0x10036d93
mov eax, dword [eax + 0x10]
test eax, eax
je 0x100368b0
mov esi, dword [ecx - 8]
cmp esi, 3
jbe 0x100368b0
mov dword [esp + 0x38], ecx
movzx ecx, byte [eax]
mov dword [esp + 0xc0], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], ebx
xor esi, esi
mov ebx, 0
mov edx, ecx
add dl, 0x81
cmp dl, 0xa1
jb 0x10036922
mov bl, 2
cmp cl, 0x5f
je 0x10036922
mov edx, ecx
mov bl, 3
add dl, 0xd0
cmp dl, 0xa
jb 0x10036922
mov edx, ecx
mov bl, 4
add dl, 0xbf
cmp dl, 0x1a
jb 0x10036922
add cl, 0x9f
cmp cl, 0x1a
setb bl
shl bl, 2
or bl, 1
mov ecx, dword [esp + 0x60]
inc eax
lea edi, [ecx - 1]
jmp 0x10036941
xor ecx, ecx
xor edx, edx
cmp bl, cl
mov ebx, ecx
setne dl
inc eax
add esi, edx
dec edi
je 0x1003697e
movzx edx, byte [eax]
mov dh, dl
add dh, 0x81
cmp dh, 0xa1
jb 0x10036930
mov cl, 2
cmp dl, 0x5f
je 0x10036932
mov dh, dl
mov cl, 3
add dh, 0xd0
cmp dh, 0xa
jb 0x10036932
mov dh, dl
mov cl, 4
add dh, 0xbf
cmp dh, 0x1a
jb 0x10036932
add dl, 0x9f
cmp dl, 0x1a
setb cl
shl cl, 2
or cl, 1
jmp 0x10036932
push 0
push dword [esp + 0x64]
push esi
push 0
call 0x100585cc
add esp, 0x10
test edx, edx
jne 0x10037a9a
mov ebx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
lea esi, [esp + 0x80]
mov ecx, ebx
inc ecx
je 0x10036c0c
cmp ecx, dword [esp + 0x8c]
mov dword [esp + 0x70], eax
jbe 0x100369ea
mov ebx, ecx
call fcn.10053440
mov edx, ebx
test eax, eax
je 0x100369db
cmp eax, edx
jbe 0x100369db
mov ecx, esi
mov edx, eax
call fcn.1001dd30
mov edx, ebx
cmp al, 8
je 0x100369ea
mov ecx, esi
call fcn.1001dd30
cmp al, 8
jne 0x10036d8c
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc0]
mov dword [eax + ebx*4], ecx
mov ecx, dword [esp + 0x38]
inc ebx
mov dword [esp + 0x88], ebx
add ecx, 0x1c
lea eax, [ecx - 0x1c]
cmp eax, edx
jne 0x100368be
jmp 0x10036d93
cmp dword [ebx + 0x18], 0
je 0x1003667d
mov eax, dword [ebx + 0x20]
or eax, dword [ebx + 0x24]
jne 0x1003667d
lea ecx, [ebx + 8]
call fcn.10052340
mov edi, edx
mov edx, dword [ebx + 0x12c]
cmp edx, 2
jb 0x1003786a
mov ecx, dword [ebx + 0x128]
mov esi, dword [ebp + 0xc]
add eax, dword [ecx + 0x30]
mov edx, dword [esi]
mov ecx, esp
adc edi, 0
mov dword [esp + 0x20], eax
add eax, 0xfffffff8
mov ebx, edi
adc ebx, 0xffffffff
push 0
push ebx
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.1001fdc0
add esp, 0x14
mov ecx, 0x310d278
mov edx, 0x23
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x10036c18
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
jmp 0x10036c30
cmp byte [edx + 0x2c], 0
je 0x100366bc
movzx eax, byte [edx + 0x2c]
mov ecx, 0x7865742e
xor ecx, dword [edx + 0x28]
xor eax, 0x74
or eax, ecx
jne 0x100366bc
mov dword [esp + 0x70], edx
mov edx, edi
mov ecx, esp
push dword [ebp + 0xc]
call fcn.10048e30
add esp, 4
xor esi, esi
lea ebx, [0x310dead]
lea edx, [0x310deae]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10036b55
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edi, dl
lea edx, [ebx + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, ebx
je 0x10036b76
shld dword [esp + 0x20], esi, 4
inc eax
test ebx, ebx
mov esi, edi
jne 0x10036b30
mov eax, dword [esp]
test eax, eax
je 0x10037397
mov ecx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
xor edi, 0x23
mov dword [esp + 0x150], eax
lea edx, [esp + 0x150]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], ecx
lea ecx, [esp + 0x40]
push edi
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100373a1
mov ecx, dword [esp + 0x4c]
movq xmm0, qword [esp + 0x44]
mov edi, dword [ebp + 8]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x3c]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], ecx
mov edx, 0x310dad7
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 6
call fcn.10046be0
add esp, 8
jmp 0x100366bc
mov dword [esp + 0xd4], ebx
jmp 0x10036dab
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], 0
movq xmm0, qword [esp + 0x40]
movd edx, xmm0
test edx, edx
je 0x10036c84
movd edx, xmm0
test edx, edx
je 0x1003667d
movq qword [esp + 0x150], xmm0
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x15c], ecx
mov edx, 0x310dad4
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 3
call fcn.10046be0
add esp, 8
jmp 0x1003667d
or eax, ecx
je 0x1003667d
mov eax, dword [esp + 0x20]
mov edx, dword [esi]
mov ebx, edi
mov ecx, esp
add eax, 8
adc ebx, 0
push 0
push ebx
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.1001fdc0
add esp, 0x14
mov ecx, 0x310d278
mov edx, 0x26
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x1003729b
mov edx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
jmp 0x100372b3
cmp byte [edi + 0x2b], 0
je 0x10036568
cmp dword [edi + 0x28], 0x30585055
jne 0x10036568
test dword [edi + 0x30], esi
jne 0x10036568
cmp dword [edi + 0x38], 0
jne 0x10036568
cmp dword [edi + 0x48], 0xe0000080
jne 0x10036568
cmp edx, 3
jb 0x10037b47
lea ecx, [edi + 0x50]
call 0x100581e0
cmp edx, 4
jne 0x10036568
cmp dword [eax], 0x31585055
jne 0x10036568
test dword [edi + 0x58], esi
jne 0x10036568
cmp dword [edi + 0x60], 0
je 0x10036568
cmp dword [edi + 0x70], 0xe0000040
jne 0x10036568
jmp 0x10036642
mov ebx, dword [esp + 0x88]
cmp ebx, 2
mov dword [esp + 0xd4], ebx
jae 0x10036dab
mov eax, dword [esp + 0x8c]
jmp 0x10036f36
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x80]
mov eax, 0x20
mov ecx, 0x20
cmp ebx, edx
mov dword [esp + 0x60], edx
cmovb edx, ebx
test edx, edx
je 0x10036dd6
bsr ecx, edx
xor ecx, 0x1f
sub eax, ecx
mov edi, esp
mov ecx, esi
push eax
push 0
push edi
call fcn.10047f30
add esp, 0xc
mov eax, dword [esi]
mov dword [esp + 0x70], ebx
mov dword [esp + 0xb8], eax
mov eax, ebx
and eax, 0xfffffffe
cmp ebx, 4
mov eax, dword [esi + eax*2]
mov dword [esp + 0x98], eax
mov eax, dword [esi + ebx*4 - 4]
mov dword [esp + 0x40], eax
jae 0x10036e1c
mov edi, dword [ebp + 8]
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x10036e82
mov eax, ebx
lea ecx, [esi + 8]
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm0, xmm0
and eax, 0xfffffffc
mov edx, eax
nop word cs:[eax + eax]
nop dword [eax]
movq xmm3, qword [ecx - 8]
movq xmm4, qword [ecx]
add ecx, 0x10
add edx, 0xfffffffc
punpckldq xmm3, xmm1
punpckldq xmm4, xmm1
paddq xmm2, xmm3
paddq xmm0, xmm4
jne 0x10036e40
paddq xmm0, xmm2
mov edi, dword [ebp + 8]
cmp ebx, eax
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movd edx, xmm0
je 0x10036e9b
mov ebx, dword [esp + 0x70]
sub ebx, eax
lea eax, [esi + eax*4]
nop dword [eax + eax]
add ecx, dword [eax]
adc edx, 0
add eax, 4
dec ebx
jne 0x10036e90
push 0
push dword [esp + 0x74]
push edx
push ecx
call 0x100585cc
add esp, 0x10
test edx, edx
jne 0x10037abf
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x310d171
mov esi, dword [eax + 0x10]
lea eax, [esp + 0xd4]
mov ecx, esi
push eax
push 0xa
call fcn.10046eb0
add esp, 8
lea eax, [esp + 0xb8]
mov ecx, esi
mov edx, 0x310d17b
push eax
push 8
call fcn.10046eb0
add esp, 8
lea eax, [esp + 0x98]
mov ecx, esi
mov edx, 0x310d183
push eax
push 0xb
call fcn.10046eb0
add esp, 8
mov eax, esp
mov ecx, esi
mov edx, 0x310d18e
push eax
push 0xc
call fcn.10046eb0
add esp, 8
lea eax, [esp + 0x40]
mov ecx, esi
mov edx, 0x310d19a
push eax
push 8
call fcn.10046eb0
add esp, 8
mov eax, dword [esp + 0x60]
mov edx, 4
mov ecx, 4
push eax
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x10036fc0
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x80]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 0x1000]
mov edi, dword [ecx + 0x1004]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
test ebx, ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], edi
je 0x100379e4
cmp ebx, eax
jne 0x100379e4
cmp edi, edx
jne 0x100379e4
cmp ecx, esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0x98], ecx
jne 0x10037a3f
mov edi, dword [ebp + 8]
mov dword [ecx + 0x1000], 0
mov eax, dword [esp + 0x20]
dec dword [eax]
mov edx, edi
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
call fcn.1004b120
add esp, 4
xor ebx, ebx
lea edx, [0x310e674]
lea esi, [0x310e675]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10037025
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10037046
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10037000
mov ebx, dword [esp + 0x150]
test ebx, ebx
je 0x100370aa
mov eax, dword [esp + 0x154]
mov esi, dword [esp + 0x158]
xor edi, 0xd
mov ecx, esp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x44], eax
mov eax, dword [0x3111000]
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10037128
lea ecx, [esp + 0x40]
call fcn.10053410
xor eax, eax
jmp 0x10037135
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x70], ecx
test edx, edx
mov dword [esp + 0x60], edx
je 0x10037c85
mov ebx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor edi, edi
mov esi, ebx
mov dword [esp + 0x20], eax
jmp 0x100370ea
mov ebx, esi
sub esi, edi
jbe 0x10037c85
shr esi, 1
mov edx, dword [esp + 0x20]
xor eax, eax
add esi, edi
mov ecx, esi
shl ecx, 4
cmp dword [edx + ecx + 0xc], 0x2dd2b3ce
mov edx, 0xff
setne al
cmovb eax, edx
cmp al, 1
je 0x100370e0
movzx eax, al
cmp eax, 0xff
jne 0x10037178
inc esi
mov edi, esi
mov esi, ebx
sub esi, edi
ja 0x100370ea
jmp 0x10037c85
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [eax], esi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x150], ebx
mov edx, 0x310dae4
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edi
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 6
call fcn.10046be0
add esp, 8
jmp 0x10037c8b
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ecx + 4]
test edx, edx
je 0x10037c85
mov eax, dword [esp + 0x20]
mov edi, edx
mov esi, dword [eax + ecx]
xor ecx, ecx
jmp 0x100371aa
mov edi, edx
sub edx, ecx
jbe 0x10037c85
shr edx, 1
xor eax, eax
add edx, ecx
mov ebx, edx
shl ebx, 4
cmp dword [esi + ebx + 0xc], 0x2b937060
mov ebx, 0xff
setne al
cmovb eax, ebx
cmp al, 1
je 0x100371a0
movzx eax, al
cmp eax, 0xff
jne 0x100371e4
inc edx
mov ecx, edx
mov edx, edi
sub edx, ecx
ja 0x100371aa
jmp 0x10037c85
mov edi, dword [esp + 0x60]
xor ecx, ecx
mov esi, edi
jmp 0x100371f8
mov edi, esi
sub esi, ecx
jbe 0x10037c85
shr esi, 1
mov edx, dword [esp + 0x20]
xor eax, eax
add esi, ecx
mov ebx, esi
shl ebx, 4
cmp dword [edx + ebx + 0xc], 0x2dd2b3ce
mov edx, 0xff
setne al
cmovb eax, edx
cmp al, 1
je 0x100371ee
movzx eax, al
cmp eax, 0xff
jne 0x10037236
inc esi
mov ecx, esi
mov esi, edi
sub esi, ecx
ja 0x100371f8
jmp 0x10037c85
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ebx + 4]
test edx, edx
je 0x10037c85
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov edi, edx
mov esi, dword [eax + ebx]
jmp 0x1003725d
mov edi, edx
sub edx, ecx
jbe 0x10037c85
shr edx, 1
xor eax, eax
add edx, ecx
mov ebx, edx
shl ebx, 4
cmp dword [esi + ebx + 0xc], 0xc709d571
mov ebx, 0xff
setne al
cmovb eax, ebx
cmp al, 1
je 0x10037253
movzx eax, al
cmp eax, 0xff
jne 0x10037345
inc edx
mov ecx, edx
mov edx, edi
sub edx, ecx
ja 0x1003725d
jmp 0x10037c85
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], 0
movq xmm0, qword [esp + 0x40]
movd edx, xmm0
test edx, edx
jne 0x10036c3e
or eax, ecx
je 0x1003667d
mov eax, dword [ebp + 0xc]
mov ecx, esp
mov edx, dword [eax]
push 0
push edi
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001fdc0
add esp, 0x14
mov ecx, 0x310d278
mov edx, 0x29
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x10037430
mov edx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
jmp 0x10037448
mov edi, dword [esp + 0x60]
xor ecx, ecx
mov esi, edi
jmp 0x10037359
mov edi, esi
sub esi, ecx
jbe 0x10037c85
shr esi, 1
mov edx, dword [esp + 0x20]
xor eax, eax
add esi, ecx
mov ebx, esi
shl ebx, 4
cmp dword [edx + ebx + 0xc], 0x2dd2b3ce
mov edx, 0xff
setne al
cmovb eax, edx
cmp al, 1
je 0x1003734f
movzx eax, al
cmp eax, 0xff
jne 0x100373cb
inc esi
mov ecx, esi
mov esi, edi
sub esi, ecx
ja 0x10037359
jmp 0x10037c85
mov esi, dword [esp + 4]
mov eax, dword [esp + 8]
jmp 0x100373a9
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
cmp dword [esi + 0x18], 0xa
mov dword [esp + 0x20], eax
ja 0x100373bd
cmp dword [esi + 0x14], 0
je 0x100374cc
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
dec dword [eax]
jmp 0x100366bc
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ebx + 4]
test edx, edx
je 0x10037c85
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov edi, edx
mov esi, dword [eax + ebx]
jmp 0x100373f2
mov edi, edx
sub edx, ecx
jbe 0x10037c85
shr edx, 1
xor eax, eax
add edx, ecx
mov ebx, edx
shl ebx, 4
cmp dword [esi + ebx + 0xc], 0x52cd0d58
mov ebx, 0xff
setne al
cmovb eax, ebx
cmp al, 1
je 0x100373e8
movzx eax, al
cmp eax, 0xff
jne 0x1003755a
inc edx
mov ecx, edx
mov edx, edi
sub edx, ecx
ja 0x100373f2
jmp 0x10037c85
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], 0
movq xmm0, qword [esp + 0x40]
movd edx, xmm0
test edx, edx
jne 0x10036c3e
or eax, ecx
jne 0x1003667d
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310d294
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x15c9146b
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
jmp 0x1003667d
mov ecx, 0x310dedc
mov edx, 0x11
call 0x10057ee0
mov edi, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
lea ecx, [edi + edi*8]
mov dword [esp + 0x60], edx
lea ebx, [ecx + ecx*2]
mov ecx, ebx
lea ecx, [ebx + edi]
mov dword [esp + 0x38], ebx
test ecx, ecx
je 0x100373bd
mov ebx, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [ebx], 0
je 0x100374f4
cmp dword [ebx + 4], eax
jne 0x100374f4
mov ecx, 0x310deed
mov edx, 0x13
call 0x10057ee0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
add ecx, edi
test ecx, ecx
je 0x100375b0
mov ebx, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [ebx], 0
je 0x10037527
cmp dword [ebx + 4], eax
jne 0x10037527
jmp 0x100373bd
mov ecx, 1
push 0x310d8fc
call fcn.10008f50
add esp, 4
ud2
mov edi, dword [esp + 0x60]
xor ecx, ecx
mov esi, edi
jmp 0x1003756e
mov edi, esi
sub esi, ecx
jbe 0x10037c85
shr esi, 1
mov edx, dword [esp + 0x20]
xor eax, eax
add esi, ecx
mov ebx, esi
shl ebx, 4
cmp dword [edx + ebx + 0xc], 0x2dd2b3ce
mov edx, 0xff
setne al
cmovb eax, edx
cmp al, 1
je 0x10037564
movzx eax, al
cmp eax, 0xff
jne 0x10037809
inc esi
mov ecx, esi
mov esi, edi
sub esi, ecx
ja 0x1003756e
jmp 0x10037c85
mov ecx, esi
call fcn.10031fa0
test eax, eax
je 0x100373bd
cmp dword [eax + 0xc], 0
jne 0x100373bd
cmp edi, 1
je 0x1003779f
test edi, edi
je 0x10046bc7
mov eax, dword [ebp + 8]
add dword [esp + 0x60], 0x28
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc0], ecx
lea eax, [edi + eax - 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
mov eax, edx
sub eax, dword [ecx + 0x34]
jb 0x100373bd
mov ecx, dword [esp + 0x70]
cmp eax, dword [ecx + 0x30]
jae 0x100373bd
add edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xac]
lea esi, [esp + 0x150]
mov ecx, esi
adc eax, 0
mov edi, edx
add edi, 0x20
mov ebx, eax
adc ebx, 0
push ebx
push edi
push eax
call fcn.1002d760
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov ecx, esp
push esi
call fcn.10024ff0
add esp, 4
mov ecx, 0x310deac
mov edx, 0x3e
call fcn.1000c350
cmp dword [esp], 0
jne 0x100378d0
movdqu xmm0, xmmword [esp + 8]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x100373bd
pshufd xmm1, xmm0, 0xff
pshufd xmm0, xmm0, 0xee
movd edx, xmm0
movd eax, xmm1
mov ecx, edx
add ecx, 0x20
adc eax, 0
sub esp, 0xc
lea esi, [esp + 0x15c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
movd dword [esp], xmm1
mov ecx, esi
call fcn.1002d760
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov ecx, esp
push esi
call fcn.10025430
add esp, 4
mov ecx, 0x310deac
mov edx, 0x43
call fcn.1000c350
cmp dword [esp], 0
jne 0x100378d0
movdqu xmm0, xmmword [esp + 8]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x100373bd
pshufd xmm1, xmm0, 0xff
pshufd xmm0, xmm0, 0xee
movd edx, xmm0
movd eax, xmm1
mov ecx, edx
add ecx, 0x20
adc eax, 0
sub esp, 0xc
lea esi, [esp + 0x15c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
movd dword [esp], xmm1
mov ecx, esi
call fcn.1002d760
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov ecx, esp
push esi
call fcn.10025210
add esp, 4
mov ecx, 0x310deac
mov edx, 0x48
call fcn.1000c350
cmp dword [esp], 0
jne 0x100378d0
movdqu xmm0, xmmword [esp + 8]
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
or eax, dword [esp + 8]
jne 0x100373bd
add dword [esp + 0x60], 0x1c
add dword [esp + 0x38], 0xffffffe4
jne 0x10037604
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310df10
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xb1d111b0
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
jmp 0x100373bd
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ebx + 4]
test edx, edx
je 0x10037c85
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov edi, edx
mov esi, dword [eax + ebx]
jmp 0x10037830
mov edi, edx
sub edx, ecx
jbe 0x10037c85
shr edx, 1
xor eax, eax
add edx, ecx
mov ebx, edx
shl ebx, 4
cmp dword [esi + ebx + 0xc], 0x1a9b3246
mov ebx, 0xff
setne al
cmovb eax, ebx
cmp al, 1
je 0x10037826
movzx eax, al
cmp eax, 0xff
jne 0x1003787e
inc edx
mov ecx, edx
mov edx, edi
sub edx, ecx
ja 0x10037830
jmp 0x10037c85
mov ecx, 1
push 0x310d284
call fcn.10008f50
add esp, 4
ud2
mov edi, dword [esp + 0x60]
xor ecx, ecx
mov esi, edi
jmp 0x10037892
mov edi, esi
sub esi, ecx
jbe 0x10037c85
shr esi, 1
mov edx, dword [esp + 0x20]
xor eax, eax
add esi, ecx
mov ebx, esi
shl ebx, 4
cmp dword [edx + ebx + 0xc], 0x2dd2b3ce
mov edx, 0xff
setne al
cmovb eax, edx
cmp al, 1
je 0x10037888
movzx eax, al
cmp eax, 0xff
jne 0x1003792d
inc esi
mov ecx, esi
mov esi, edi
sub esi, ecx
ja 0x10037892
jmp 0x10037c85
movsd xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movsd qword [esp + 0x150], xmm0
mov dword [esp + 0x158], ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
movq xmm0, qword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edi, dword [ebp + 8]
dec dword [edx]
test eax, eax
jne 0x10036bd2
jmp 0x100366bc
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ebx + 4]
test edx, edx
je 0x10037c85
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov edi, edx
mov esi, dword [eax + ebx]
jmp 0x10037954
mov edi, edx
sub edx, ecx
jbe 0x10037c85
shr edx, 1
xor eax, eax
add edx, ecx
mov ebx, edx
shl ebx, 4
cmp dword [esi + ebx + 0xc], 0x40c62caa
mov ebx, 0xff
setne al
cmovb eax, ebx
cmp al, 1
je 0x1003794a
movzx eax, al
cmp eax, 0xff
jne 0x1003798e
inc edx
mov ecx, edx
mov edx, edi
sub edx, ecx
ja 0x10037954
jmp 0x10037c85
mov edi, dword [esp + 0x60]
xor ecx, ecx
mov esi, edi
jmp 0x100379a2
mov edi, esi
sub esi, ecx
jbe 0x10037c85
shr esi, 1
mov edx, dword [esp + 0x20]
xor eax, eax
add esi, ecx
mov ebx, esi
shl ebx, 4
cmp dword [edx + ebx + 0xc], 0x2dd2b3ce
mov edx, 0xff
setne al
cmovb eax, edx
cmp al, 1
je 0x10037998
movzx eax, al
cmp eax, 0xff
jne 0x10037ae6
inc esi
mov ecx, esi
mov esi, edi
sub esi, ecx
ja 0x100379a2
jmp 0x10037c85
lea eax, [esp + 0xb8]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x40]
mov dword [esp], 0x310d038
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x30f70e0
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x310d050
mov dword [esp + 0x4c], 0x30f70e0
mov dword [esp + 0xc], 2
call fcn.10008ee0
ud2
lea eax, [esp + 0xb8]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x40]
mov dword [esp], 0x310cff8
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x30b6430
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x310d010
mov dword [esp + 0x4c], 0x30b6430
mov dword [esp + 0xc], 2
call fcn.10008ee0
ud2
mov eax, esp
mov ecx, 0x310fdd9
mov edx, 0x2b
mov byte [esp], 1
push 0x310e5d8
push 0x310d590
push eax
call fcn.1000a160
add esp, 0xc
ud2
mov ecx, 0x310fdd9
mov edx, 0x2b
mov byte [esp], 1
push 0x310e5d8
push 0x310d590
lea eax, [esp + 8]
push eax
call fcn.1000a160
add esp, 0xc
ud2
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ebx + 4]
test edx, edx
je 0x10037c85
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov edi, edx
mov esi, dword [eax + ebx]
jmp 0x10037b0d
mov edi, edx
sub edx, ecx
jbe 0x10037c85
shr edx, 1
xor eax, eax
add edx, ecx
mov ebx, edx
shl ebx, 4
cmp dword [esi + ebx + 0xc], 0xd222f5a1
mov ebx, 0xff
setne al
cmovb eax, ebx
cmp al, 1
je 0x10037b03
movzx eax, al
cmp eax, 0xff
jne 0x10037b60
inc edx
mov ecx, edx
mov edx, edi
sub edx, ecx
ja 0x10037b0d
jmp 0x10037c85
mov ecx, 2
mov edx, 2
push 0x310d90c
call fcn.10008f50
add esp, 4
ud2
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x20]
xor ecx, ecx
mov edx, 0xff
jmp 0x10037b7f
mov esi, dword [esp + 0x60]
sub dword [esp + 0x60], ecx
jbe 0x10037c85
mov edi, dword [esp + 0x60]
xor eax, eax
shr edi, 1
add edi, ecx
mov dword [esp + 0x60], edi
shl edi, 4
cmp dword [ebx + edi + 0xc], 0x2dd2b3ce
setne al
cmovb eax, edx
cmp al, 1
je 0x10037b71
movzx eax, al
cmp eax, 0xff
jne 0x10037bc0
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x60], esi
inc ecx
sub dword [esp + 0x60], ecx
ja 0x10037b7f
jmp 0x10037c85
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + edi + 4]
test ecx, ecx
je 0x10037c85
mov eax, dword [esp + 0x20]
mov esi, ecx
mov eax, dword [eax + edi]
xor edi, edi
jmp 0x10037be7
mov esi, ecx
sub ecx, edi
jbe 0x10037c85
shr ecx, 1
xor ebx, ebx
add ecx, edi
mov edx, ecx
shl edx, 4
cmp dword [eax + edx + 0xc], 0xe9b7ea0f
mov edx, 0xff
setne bl
cmovb ebx, edx
cmp bl, 1
je 0x10037bdd
movzx edx, bl
cmp edx, 0xff
jne 0x10037c20
inc ecx
mov edi, ecx
mov ecx, esi
sub ecx, edi
ja 0x10037be7
jmp 0x10037c85
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310e67c
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xe5d4cb4f
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
mov eax, dword [esp + 0x70]
dec dword [eax]
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
call fcn.1004b120
add esp, 4
lea esi, [0x310d731]
lea edx, [0x310d732]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
mov dword [esp + 0x70], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10037cf5
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add bl, 0xa9
mov edx, ebx
mov ebx, dword [esp + 0x20]
movzx ecx, dl
lea edx, [esi + 1]
mov edi, ebx
shl edi, 4
or ecx, edi
test eax, eax
cmove edx, esi
je 0x10037d1c
shld dword [esp + 0x70], ebx, 4
inc eax
test esi, esi
mov dword [esp + 0x20], ecx
jne 0x10037cd0
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10037d96
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ecx, 0x15
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10037db9
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x10037dcf
mov eax, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
mov dword [esp + 0x38], eax
mov esi, dword [edi + 0x10]
cmp esi, 1
jne 0x10037e57
jmp 0x10038157
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x38]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
test edx, edx
je 0x10037e42
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x150], edx
mov edx, 0x310daea
mov ecx, dword [ecx + 0x10]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
lea eax, [esp + 0x150]
push eax
push 6
call fcn.10046be0
add esp, 8
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
je 0x10038175
jmp 0x10039405
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
mov esi, dword [edi + 0x10]
cmp esi, 1
je 0x10038157
mov ecx, 0x310d739
mov edx, 8
call 0x10057ee0
test esi, esi
mov dword [esp + 0x20], eax
je 0x10038157
mov eax, dword [edi + 0xc]
xor ebx, ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], eax
jmp 0x10037e9c
mov dword [esp + 0x60], esi
sub esi, ebx
jbe 0x10038157
shr esi, 1
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x20]
xor edx, edx
add esi, ebx
mov edi, esi
shl edi, 4
cmp dword [eax + edi + 0xc], ecx
mov eax, 0xff
setne dl
cmovb edx, eax
cmp dl, 1
je 0x10037e90
movzx ecx, dl
cmp ecx, 0xff
jne 0x10037ede
inc esi
mov ebx, esi
mov esi, dword [esp + 0x60]
sub esi, ebx
ja 0x10037e9c
jmp 0x10038157
mov eax, dword [esp + 0x70]
mov eax, dword [eax + edi + 4]
cmp eax, 9
mov dword [esp + 0xc0], eax
ja 0x10038157
mov ecx, 0x310d741
mov edx, 0xc
call 0x10057ee0
cmp dword [esp + 0xc0], 0
mov dword [esp + 0x60], eax
je 0x10038157
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0xc0]
xor ebx, ebx
add eax, edi
mov edi, dword [esp + 0x60]
mov edx, ecx
mov dword [esp + 0x70], ecx
mov eax, dword [eax]
mov dword [esp + 0x20], eax
jmp 0x10037f44
mov dword [esp + 0x70], edx
sub edx, ebx
jbe 0x10038157
shr edx, 1
mov eax, dword [esp + 0x20]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [eax + esi + 0xc], edi
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10037f38
movzx ecx, cl
cmp ecx, 0xff
jne 0x10037f82
inc edx
mov ebx, edx
mov edx, dword [esp + 0x70]
sub edx, ebx
ja 0x10037f44
jmp 0x10038157
mov ecx, 0x310d74d
mov edx, 8
call 0x10057ee0
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x70], eax
xor ebx, ebx
mov edi, dword [esp + 0x70]
mov edx, ecx
mov dword [esp + 0x60], ecx
jmp 0x10037fb6
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x10038157
shr edx, 1
mov eax, dword [esp + 0x20]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [eax + esi + 0xc], edi
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10037faa
movzx ecx, cl
cmp ecx, 0xff
jne 0x10037ff4
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x10037fb6
jmp 0x10038157
mov ecx, 0x310d755
mov edx, 0xd
call 0x10057ee0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc0]
push eax
call fcn.10048dc0
add esp, 4
test eax, eax
jne 0x10038157
mov ecx, 0x310d762
mov edx, 0xc
call 0x10057ee0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc0]
push eax
call fcn.10048dc0
add esp, 4
test eax, eax
jne 0x10038157
mov ecx, 0x310d76e
mov edx, 0xc
call 0x10057ee0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc0]
push eax
call fcn.10048dc0
add esp, 4
test eax, eax
jne 0x10038157
mov ecx, 0x310d77a
mov edx, 0xe
call 0x10057ee0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc0]
push eax
call fcn.10048dc0
add esp, 4
test eax, eax
jne 0x10038157
mov ecx, 0x310d788
mov edx, 5
call 0x10057ee0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc0]
push eax
call fcn.10048dc0
add esp, 4
test eax, eax
jne 0x10038157
mov ecx, 0x310d78d
mov edx, 0xc
call 0x10057ee0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc0]
push eax
call fcn.10048dc0
add esp, 4
test eax, eax
jne 0x10038157
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310d799
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x8f1ee398
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
mov eax, dword [esp + 0x38]
mov edi, dword [ebp + 8]
dec dword [eax]
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x10039405
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x10039405
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x10039405
mov esi, dword [eax + 0xcc]
test esi, esi
je 0x10039405
mov edi, dword [ebp + 0xc]
mov ebx, dword [eax + 0xc]
add esi, dword [eax + 8]
lea ecx, [esp + 0x150]
mov edx, edi
adc ebx, 0
push 0xa
push 0x310deb5
mov dword [esp + 0x68], ebx
push ebx
push esi
call fcn.10024e30
add esp, 0x10
lea ecx, [0x310dead]
lea edx, [0x310deae]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100381fe
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10046891
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1003820d
inc eax
test ecx, ecx
jne 0x100381e0
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1003827c
movsd xmm0, qword [esp + 0x154]
mov ebx, esi
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10038286
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003829b
movzx eax, byte [esp + 0x154]
jmp 0x100382ae
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov eax, ecx
mov dword [ecx + 4], esi
cmp dword [esp], 0
mov esi, ebx
je 0x100382aa
mov ebx, eax
jmp 0x100384b1
mov eax, dword [esp + 4]
test al, al
je 0x100384d1
mov ebx, dword [esp + 0x60]
mov eax, esi
xor edx, edx
movd xmm0, esi
mov byte [esp + 0x160], 2
mov dword [esp + 0x70], esi
xor eax, 0xffffffc0
mov ecx, ebx
movd xmm1, ebx
not ecx
punpckldq xmm0, xmm1
or ecx, eax
pshufd xmm1, xmm0, 0x44
sete dl
paddq xmm1, xmmword [0x3108300]
movd xmm0, edx
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x3108310]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movdqu xmmword [esp], xmm0
mov byte [esp + 0x10], 0
movd ecx, xmm2
cmp ecx, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
sbb ecx, eax
mov eax, esp
lea ecx, [esp + 0x150]
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbb], eax
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0xa0], xmm1
jb 0x10046ac9
movsd xmm0, qword [esp + 0x98]
movq xmm1, qword [esp + 0xa0]
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbb]
lea edx, [esp + 0x150]
movq qword [esp + 0x158], xmm1
movsd qword [esp + 0x150], xmm0
mov byte [esp + 0x160], 0
mov dword [esp + 0x161], eax
mov dword [esp + 0x164], ecx
lea ecx, [esp + 0x40]
push edi
push 6
push 0x310debf
call fcn.10049db0
add esp, 0xc
xor edi, edi
lea esi, [0x310dead]
lea edx, [0x310deae]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ebx, byte [esi]
mov esi, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10038435
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add bl, 0xa9
mov edx, ebx
mov ecx, edi
movzx ebx, dl
lea edx, [esi + 1]
shl ecx, 4
or ebx, ecx
test eax, eax
cmove edx, esi
je 0x10038456
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, ebx
jne 0x10038410
cmp dword [esp + 0x40], 0
je 0x10038898
movsd xmm0, qword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
xor ebx, 0x80
lea edx, [esp + 0x150]
movsd qword [esp + 0x150], xmm0
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
lea ecx, [esp + 0x84]
push ebx
call fcn.10051570
add esp, 4
mov ebx, dword [esp + 0x90]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x70]
test ebx, ebx
je 0x100384d1
mov ecx, ebx
call fcn.10053410
mov eax, dword [0x3111000]
push 4
push 8
push ebx
push 0x310fe14
call dword [eax + 0x10]
add esp, 0x10
mov ebx, dword [esp + 0x60]
mov edx, edi
mov word [esp + 0xdc], 0x24
lea ecx, [esp + 0x150]
push 3
push 0x310eb66
mov dword [esp + 0x28], ebx
push ebx
mov dword [esp + 0x7c], esi
push esi
call fcn.10024e30
add esp, 0x10
xor esi, esi
lea edi, [0x310dead]
lea edx, [0x310deae]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10038545
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [edi + 1]
cmove edx, edi
je 0x10038566
shld ebx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x10038520
mov eax, dword [esp + 0x150]
test eax, eax
je 0x100385d9
movsd xmm0, qword [esp + 0x154]
mov edi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
mov ebx, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov esi, dword [esp + 0x70]
je 0x100385ed
lea ecx, [esp + 0x80]
call fcn.10053410
xor edx, edx
jmp 0x10038600
movzx ecx, byte [esp + 0x154]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x70]
jmp 0x100386b6
movdqa xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], edi
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edi, dword [ebp + 8]
test eax, eax
mov dword [esp + 0x60], eax
je 0x100386b6
xor ebx, 0xa7
mov dword [esp + 0x70], ecx
shr ecx, 0x10
mov dword [esp + 0xc0], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0xac], ecx
xor edi, edi
lea ecx, [0x310dead]
lea edx, [0x310deae]
mov eax, 0xfffffff9
xor ebx, ebx
nop word [eax + eax]
mov esi, ecx
movzx ecx, byte [ecx]
mov dword [esp + 0x20], edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10038679
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx esi, dl
shl ecx, 4
or esi, ecx
mov ecx, dword [esp + 0x20]
test eax, eax
lea edx, [ecx + 1]
cmove edx, ecx
je 0x1003869c
shld ebx, edi, 4
inc eax
test ecx, ecx
mov edi, esi
jne 0x10038650
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0xac]
xor esi, 0xe8
jmp 0x10038a10
mov ebx, dword [esp + 0x20]
test cl, cl
je 0x100393f6
mov edi, esi
mov edx, esi
mov esi, ebx
mov ecx, ebx
mov byte [esp + 0x160], 2
mov dword [esp + 0x20], 0
mov eax, edi
xor edx, 0xffffffc0
not esi
add eax, 0x3f
adc ecx, 0
or esi, edx
mov esi, 0
mov edx, 1
cmovne edx, edi
cmove ecx, esi
cmove eax, esi
cmove ebx, esi
cmp eax, edx
mov esi, ecx
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x150]
mov byte [esp + 0x10], 0
sbb esi, ebx
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd7], eax
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0xa0], xmm1
jb 0x10046ac9
movsd xmm0, qword [esp + 0x98]
movq xmm1, qword [esp + 0xa0]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd7]
lea edx, [esp + 0x150]
movq qword [esp + 0x158], xmm1
movsd qword [esp + 0x150], xmm0
mov byte [esp + 0x160], 0
mov dword [esp + 0x161], eax
mov dword [esp + 0x164], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 3
push 0x310ded1
call fcn.10049db0
add esp, 0xc
lea esi, [0x310dead]
lea ebx, [0x310deae]
mov eax, 0xfffffff9
xor edx, edx
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10038805
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edx
movzx edi, ch
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test eax, eax
cmove ebx, esi
je 0x10038826
shld dword [esp + 0x20], edx, 4
inc eax
test esi, esi
mov edx, edi
jne 0x100387e0
cmp dword [esp + 0x40], 0
je 0x10038930
movsd xmm0, qword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
xor edi, 0xad
lea edx, [esp + 0x150]
movsd qword [esp + 0x150], xmm0
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
lea ecx, [esp + 0x84]
push edi
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x90]
jmp 0x100389e3
mov eax, dword [esp + 0x48]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x70]
or eax, dword [esp + 0x4c]
je 0x100384d1
mov edx, dword [esp + 0x50]
mov ecx, esp
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [esp + 0x60]
call fcn.1004a3b0
add esp, 0x10
mov ecx, 0x310deac
mov edx, 0x84
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x10038ba3
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov ebx, dword [esp + 0x4c]
cmp dword [esp + 0x40], 0
jne 0x100384b1
mov eax, ebx
mov ebx, dword [esp + 0x48]
jmp 0x10038bab
mov eax, dword [esp + 0x48]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x4c]
je 0x100393f6
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
lea edi, [esp + 0x150]
mov ecx, edi
mov esi, edx
mov ebx, eax
add esi, 0x20
adc ebx, 0
push ebx
push esi
push eax
call fcn.1002d760
add esp, 0xc
mov ecx, esp
mov edx, edi
push dword [ebp + 0xc]
push 3
push 0x310ded4
call fcn.10049db0
add esp, 0xc
mov ecx, 0x310deac
mov edx, 0xb8
call fcn.1000c350
cmp dword [esp], 0
je 0x10038c27
movsd xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movsd qword [esp + 0x150], xmm0
mov dword [esp + 0x158], ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x50]
mov ebx, ecx
mov dword [esp + 0x70], ecx
mov ecx, 0x310deac
mov edx, 0xe8
mov dword [esp + 0xc0], eax
shr ebx, 0x10
call fcn.1000c350
test edi, edi
je 0x10038b03
mov ecx, dword [esp + 0x70]
mov esi, eax
movzx eax, ch
mov dword [esp + 0x70], ecx
movzx ecx, cl
shl ebx, 0x10
mov dword [esp + 0x60], edi
movd xmm1, edi
mov edi, dword [esp + 0x38]
shl eax, 8
or ecx, eax
mov eax, dword [0x3111000]
or ebx, ecx
movd xmm0, ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp], edi
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
mov dword [esp + 4], ebx
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x15c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x150], 0
je 0x10038a7d
mov ecx, esp
call fcn.10053410
xor eax, eax
jmp 0x10038a89
mov eax, dword [esp + 0x154]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov edx, dword [esp + 0x60]
movaps xmm0, xmmword [esp + 0x20]
test edx, edx
movlps qword [esp + 0xb8], xmm0
je 0x10038b03
movzx ecx, word [esp + 0xbd]
mov word [esp + 0x155], cx
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x157], cl
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x150], edx
mov edx, 0x310daf0
mov byte [esp + 0x154], cl
mov dword [esp + 0x158], esi
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 6
call fcn.10046be0
add esp, 8
mov edi, dword [ebp + 8]
jmp 0x10039405
mov ebx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
test bl, bl
je 0x10039405
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310df14
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xafee5d80
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x10039405
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10039405
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, esp
mov edx, edi
push 3
push 0x310dec5
mov dword [esp + 0x28], eax
push eax
push ebx
call fcn.10024e30
add esp, 0x10
mov ecx, 0x310deac
mov edx, 0x86
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x10038ce9
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
cmp dword [esp + 0x40], 0
je 0x10038cf0
mov ebx, dword [esp + 0x4c]
jmp 0x100384b1
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100393f6
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov ecx, esp
mov edx, dword [eax]
push 1
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020130
add esp, 0x14
mov ecx, 0x310deac
mov edx, 0xbd
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x10038da0
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x60], eax
je 0x10038e42
movzx eax, byte [esp + 0x44]
mov ah, byte [esp + 0x45]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
movzx eax, word [esp + 0x46]
mov dword [esp + 0x38], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xac], eax
jmp 0x10038635
movzx eax, byte [esp + 4]
jmp 0x10038cf5
movzx eax, byte [esp + 0x44]
test al, al
je 0x100384d1
mov eax, dword [esp + 0x20]
mov edx, ebx
add edx, 0x90
mov ecx, eax
adc ecx, 0
add ebx, 0xb0
adc eax, 0
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x150]
push eax
push ebx
push dword [esp + 0x40]
call fcn.1002d760
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x150]
push edi
push 9
push 0x310dec8
call fcn.10049db0
add esp, 0xc
mov ecx, 0x310deac
mov edx, 0x8d
call fcn.1000c350
cmp dword [esp], 0
je 0x10038daa
movsd xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movsd qword [esp + 0x150], xmm0
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edx
lea ecx, [esp + 0x44]
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov ebx, dword [esp + 0x50]
jmp 0x100384b1
movzx eax, byte [esp + 4]
jmp 0x10038e47
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100384d1
mov edx, edi
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov eax, edi
mov esi, ebx
add eax, 4
adc esi, 0
push 9
push 0x310dec8
push esi
push eax
call fcn.10024e30
add esp, 0x10
mov ecx, 0x310deac
mov edx, 0x94
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x10038f76
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
cmp dword [esp + 0x40], 0
je 0x10038f7d
mov ebx, dword [esp + 0x4c]
jmp 0x100384aa
movzx eax, byte [esp + 0x44]
mov edx, esi
mov byte [esp + 0xdd], al
mov eax, ebx
lea edi, [esp + 0x150]
add edx, 5
mov ecx, edi
adc eax, 0
add esi, 0x25
adc ebx, 0
push ebx
push esi
push eax
call fcn.1002d760
add esp, 0xc
lea eax, [esp + 0xdc]
mov ecx, esp
mov edx, edi
push dword [ebp + 0xc]
push 2
push eax
call fcn.10049db0
add esp, 0xc
mov ecx, 0x310deac
mov edx, 0xc2
call fcn.1000c350
cmp dword [esp], 0
jne 0x10038996
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100393f6
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov edx, dword [esi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffc
mov edi, ebx
adc ebx, 0xffffffff
push ebx
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.1001f680
add esp, 0x10
mov ecx, 0x310deac
mov edx, 0xc7
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x10038fc8
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x60], eax
je 0x10038fdf
mov eax, dword [esp + 0x48]
movzx esi, word [esp + 0x44]
movzx ebx, word [esp + 0x46]
mov ecx, 0x310deac
mov edx, 0xe8
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc0], eax
call fcn.1000c350
mov edi, dword [esp + 0x60]
mov ecx, esi
jmp 0x10038a0e
movzx eax, byte [esp + 4]
jmp 0x10038f82
movzx eax, byte [esp + 0x44]
test al, al
je 0x10038fcf
mov edx, edi
mov edi, dword [ebp + 0xc]
lea ecx, [esp + 0x150]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push ebx
call fcn.1004a3b0
add esp, 0x10
mov ebx, dword [esp + 0x15c]
cmp dword [esp + 0x150], 0
mov esi, dword [esp + 0x70]
jne 0x100384b1
mov esi, dword [esp + 0x158]
jmp 0x100384d5
movzx eax, word [esp + 4]
jmp 0x10038fe4
mov ebx, dword [esp + 0x60]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x70]
jmp 0x100384d5
movzx eax, word [esp + 0x44]
movzx eax, ax
mov cl, 1
cmp eax, 0x64c0
mov dword [esp + 0x70], ecx
jg 0x1003900b
cmp eax, 0x446b
je 0x10039028
cmp eax, 0x4481
je 0x10039028
cmp eax, 0x4c81
je 0x10039028
jmp 0x10039020
cmp eax, 0x64c1
je 0x10039028
cmp eax, 0x6cc1
je 0x10039028
cmp eax, 0x7481
je 0x10039028
mov dword [esp + 0x70], 0
mov edx, dword [esp + 0x20]
mov esi, edi
lea ebx, [esp + 0x150]
mov ecx, ebx
mov eax, edx
add eax, 0x20
adc esi, 0
push esi
push eax
push edi
call fcn.1002d760
add esp, 0xc
mov ecx, esp
mov edx, ebx
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0xe4]
push eax
call fcn.10049db0
add esp, 0xc
mov ecx, 0x310deac
mov edx, 0xc2
call fcn.1000c350
cmp dword [esp], 0
jne 0x10038996
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100393f6
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov eax, edi
mov edx, dword [esi]
mov dword [esp + 0x20], ebx
add eax, 0xfffffffc
adc ebx, 0xffffffff
push ebx
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.1001f680
add esp, 0x10
mov ecx, 0x310deac
mov edx, 0xc7
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x1003911a
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x60], eax
jne 0x10038f3f
movzx eax, word [esp + 0x44]
jmp 0x1003911f
movzx eax, word [esp + 4]
movzx eax, ax
cmp eax, 0x64c0
jg 0x10039140
cmp eax, 0x446b
je 0x10039155
cmp eax, 0x4481
je 0x10039155
cmp eax, 0x4c81
je 0x10039155
jmp 0x10039179
cmp eax, 0x64c1
je 0x10039155
cmp eax, 0x7481
je 0x10039155
cmp eax, 0x6cc1
jne 0x10039179
cmp byte [esp + 0x70], 0
mov al, 1
mov dword [esp + 0x70], eax
je 0x10039179
mov ecx, 0x310deac
mov edx, 0xe8
call fcn.1000c350
mov edi, dword [ebp + 8]
jmp 0x10038b12
mov ebx, dword [esp + 0x20]
mov eax, edi
lea ecx, [esp + 0x150]
mov edx, edi
add eax, 0x20
mov esi, ebx
adc esi, 0
push esi
push eax
push ebx
call fcn.1002d760
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x150]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0xe4]
push eax
call fcn.10049db0
add esp, 0xc
mov ecx, 0x310deac
mov edx, 0xc2
call fcn.1000c350
cmp dword [esp], 0
jne 0x10038996
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100393f6
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov eax, edi
mov edx, dword [esi]
mov dword [esp + 0x20], ebx
add eax, 0xfffffffc
adc ebx, 0xffffffff
push ebx
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.1001f680
add esp, 0x10
mov ecx, 0x310deac
mov edx, 0xc7
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x10039270
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x60], eax
jne 0x10038f3f
movzx eax, word [esp + 0x44]
jmp 0x10039275
movzx eax, word [esp + 4]
movzx eax, ax
cmp eax, 0x64c0
jg 0x10039296
cmp eax, 0x446b
je 0x100392ab
cmp eax, 0x4481
je 0x100392ab
cmp eax, 0x4c81
je 0x100392ab
jmp 0x100392bc
cmp eax, 0x64c1
je 0x100392ab
cmp eax, 0x7481
je 0x100392ab
cmp eax, 0x6cc1
jne 0x100392bc
cmp byte [esp + 0x70], 0
mov al, 1
mov dword [esp + 0x70], eax
jne 0x10039162
mov ebx, dword [esp + 0x20]
mov eax, edi
lea ecx, [esp + 0x150]
mov edx, edi
add eax, 0x20
mov esi, ebx
adc esi, 0
push esi
push eax
push ebx
call fcn.1002d760
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x150]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0xe4]
push eax
call fcn.10049db0
add esp, 0xc
mov ecx, 0x310deac
mov edx, 0xc2
call fcn.1000c350
cmp dword [esp], 0
jne 0x10038996
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100393f6
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, esp
mov edx, dword [edi]
add esi, 0xfffffffc
adc eax, 0xffffffff
push eax
push esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001f680
add esp, 0x10
mov ecx, 0x310deac
mov edx, 0xc7
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x100393ad
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x60], eax
jne 0x10038f3f
movzx eax, word [esp + 0x44]
jmp 0x100393b2
movzx eax, word [esp + 4]
movzx eax, ax
cmp eax, 0x64c0
jg 0x100393d3
cmp eax, 0x446b
je 0x100393e8
cmp eax, 0x4481
je 0x100393e8
cmp eax, 0x4c81
je 0x100393e8
jmp 0x100393f3
cmp eax, 0x64c1
je 0x100393e8
cmp eax, 0x7481
je 0x100393e8
cmp eax, 0x6cc1
jne 0x100393f3
cmp byte [esp + 0x70], 0
jne 0x10039162
mov edi, dword [ebp + 8]
mov ecx, 0x310deac
mov edx, 0xe8
call fcn.1000c350
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x100396b1
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x100396b1
movzx eax, word [eax + 0x126]
not eax
test eax, 0x2022
jne 0x100396b1
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310dead]
lea edx, [0x310deae]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10039495
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x100394b6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10039470
cmp dword [esp + 0x150], 0
je 0x10039527
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x128
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003965f
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x10039668
movq xmm0, qword [esp + 0x158]
movq xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 1
jne 0x100396b1
cmp dword [esp + 8], 0x7dd
jne 0x100396b1
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x80]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x150]
push 0xb
push 0x310df88
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ecx, ecx
lea edx, [0x310dead]
lea esi, [0x310deae]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100395d5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov esi, ecx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x100395f4
shld edi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100395b0
cmp dword [esp + 0x150], 0
je 0x1003b466
movq xmm0, qword [esp + 0x154]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
xor ebx, 0x13c
lea edx, [esp + 0x40]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 4]
push ebx
call fcn.10051570
add esp, 4
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], esi
jmp 0x1003967e
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp]
mov edi, dword [ebp + 8]
test eax, eax
je 0x100396b1
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp]
mov edx, 0x310daf6
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
movdqu xmmword [esp + 0x150], xmm0
push eax
push 8
call fcn.10046be0
add esp, 8
mov ecx, dword [edi]
lea edx, [esp + 0x80]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 0xcc]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x80], ecx
adc esi, 0
lea ecx, [esp + 0x150]
push 8
push 0x310d1d4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x10039783
cmp dword [esp + 0x158], 1
jne 0x10039783
mov edx, esp
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 4
push 0x310d274
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov edx, 0x82e3ee5a
mov ecx, dword [eax + 0x10]
push dword [esp + 0x44]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x100397ae
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
jmp 0x100397ab
test eax, eax
je 0x100397ae
mov esi, dword [esp + 0x160]
test esi, esi
je 0x100397ae
mov ecx, esi
call fcn.10053410
mov eax, dword [0x3111000]
push 4
push 8
push esi
push 0x310fe14
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [edi]
test byte [eax + 0x127], 0x20
je 0x1003a107
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1003a107
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
je 0x1003a107
lea ecx, [esp + 0x150]
mov edx, edi
push dword [ebp + 0xc]
call fcn.10048e30
add esp, 4
xor ecx, ecx
lea edx, [0x310ebc5]
lea edi, [0x310ebc6]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10039835
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10039854
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10039810
mov eax, dword [esp + 0x150]
test eax, eax
je 0x100398cd
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ebx, 0x41
lea ecx, [esp + 0x98]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xb8], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xbc], esi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x98], 0
mov edi, dword [ebp + 8]
je 0x100398e0
lea ecx, [esp + 0xb8]
call fcn.10053410
xor eax, eax
jmp 0x100398f6
mov eax, dword [esp + 0x154]
mov ebx, dword [esp + 0x158]
mov edi, dword [ebp + 8]
jmp 0x10039956
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x9c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x1003994d
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x150], ecx
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x310dafe
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 6
call fcn.10046be0
add esp, 8
jmp 0x1003a107
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov edx, dword [eax + 0x34]
mov dword [esp + 0xc0], ebx
mov ebx, dword [eax + 0x30]
mov ecx, 5
mov dword [esp + 0x20], 0
lea eax, [edx + edx*8]
add edx, ebx
lea eax, [eax + eax*2]
add edx, eax
mov dword [esp + 0x38], edx
jmp 0x10039999
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
add ebx, 0x1c
mov dword [esp + 0x20], eax
dec ecx
je 0x1003a023
cmp ebx, edx
je 0x1003a01f
mov dword [esp + 0x70], ecx
mov ecx, dword [edi]
mov eax, dword [ebx + 0xc]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
add esi, eax
adc edi, 0
cmp dword [ecx + 0x14c], eax
jbe 0x10039980
cmp dword [esp + 0x20], 3
mov eax, 3
je 0x10039984
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x150]
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], eax
push 2
push 0x310eb80
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10023730
add esp, 0x18
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x10039b97
cmp dword [esp + 0x158], 1
jne 0x10039b97
mov esi, dword [esp + 0x160]
mov edi, dword [esp + 0x164]
mov dword [esp], 3
mov dword [esp + 4], 0x40
mov dword [esp + 8], 0x310ebb0
mov dword [esp + 0xc], 1
lea ecx, [esp + 0x150]
lea edx, [esp + 0xb8]
push 1
lea eax, [esp + 4]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10023730
add esp, 0x18
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x10039b97
cmp dword [esp + 0x158], 1
jne 0x10039b97
mov eax, dword [esp + 0x160]
mov dword [esp + 0xb4], ebx
lea ecx, [esp + 0x150]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb8]
mov edx, dword [eax]
push 0
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020130
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea esi, [0x310ebc6]
xor edx, edx
lea ebx, [0x310ebc5]
nop word [eax + eax]
movzx ecx, byte [ebx]
mov ebx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10039b05
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [ebx + 1]
test eax, eax
cmove esi, ebx
je 0x10039b24
shld edx, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x10039ae0
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10039bd1
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
mov edi, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10039bdb
lea ecx, [esp + 0x98]
call fcn.10053410
xor edx, edx
jmp 0x10039bee
test eax, eax
je 0x10039bc2
mov esi, dword [esp + 0x160]
test esi, esi
je 0x10039bc2
mov ecx, esi
call fcn.10053410
mov eax, dword [0x3111000]
push 4
push 8
push esi
push 0x310fe14
call dword [eax + 0x10]
add esp, 0x10
mov edx, dword [esp + 0x38]
xor eax, eax
add eax, dword [esp + 0x20]
jmp 0x10039984
movzx ecx, byte [esp + 0x154]
jmp 0x10039c04
movdqa xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
mov eax, dword [esp]
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x10043220
mov edi, dword [esp + 0xb8]
movzx eax, cl
mov esi, dword [esp + 0xb0]
lea ecx, [esp + 0x150]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xac]
mov edx, dword [edi]
add eax, 0xfffffffe
adc esi, 0xffffffff
push 0
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10020130
add esp, 0x14
xor edx, edx
mov eax, 0xfffffff9
lea ebx, [0x310ebc6]
lea esi, [0x310ebc5]
mov dword [esp + 0x60], 0
nop
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10039c85
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edx
movzx edi, ch
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test eax, eax
cmove ebx, esi
je 0x10039ca6
shld dword [esp + 0x60], edx, 4
inc eax
test esi, esi
mov edx, edi
jne 0x10039c60
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10039d1a
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov ebx, dword [esp + 0xc0]
je 0x10039d24
lea ecx, [esp + 0x98]
call fcn.10053410
xor edx, edx
jmp 0x10039d37
movzx ecx, byte [esp + 0x154]
jmp 0x10039d46
movdqa xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
mov eax, dword [esp]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x10043281
mov ebx, dword [esp + 0xb4]
mov eax, ecx
and al, 0xc7
cmp al, 0x44
jne 0x10039e89
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 0
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020130
add esp, 0x14
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10039f92
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x15c]
movq xmm0, qword [esp + 0x154]
mov ecx, 0xfffffff9
lea ebx, [0x310ebc6]
lea esi, [0x310ebc5]
mov dword [esp + 0x60], 0
mov dword [esp + 0xac], eax
xor eax, eax
nop
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10039df5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10046891
add dl, 0xa9
mov dh, dl
mov ebx, eax
movzx edi, dh
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test ecx, ecx
cmove ebx, esi
je 0x10039e16
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x10039dd0
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xac]
mov dword [esp + 0x150], eax
mov eax, dword [0x3111000]
movq qword [esp + 0x154], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x60], xmm0
mov dword [esp + 0x44], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
mov ebx, dword [esp + 0xc0]
je 0x10039fb3
lea ecx, [esp + 0x40]
call fcn.10053410
mov dword [esp + 0x60], 0
jmp 0x10039fca
mov edx, dword [esp + 0x38]
not cl
test cl, 0x84
jne 0x10039bc6
mov eax, dword [esp + 0xb8]
mov ecx, esp
mov edx, dword [eax]
push 0
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001fa10
add esp, 0x14
xor edx, edx
mov eax, 0xfffffff9
lea ebx, [0x310ebc6]
lea esi, [0x310ebc5]
mov dword [esp + 0x60], 0
nop dword [eax]
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10039f05
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edx
movzx edi, ch
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test eax, eax
cmove ebx, esi
je 0x10039f26
shld dword [esp + 0x60], edx, 4
inc eax
test esi, esi
mov edx, edi
jne 0x10039ee0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
test eax, eax
je 0x10039f85
mov esi, ecx
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x150], eax
xor edi, 0x24
mov dword [esp + 0x154], esi
mov dword [esp + 0x158], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push edi
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0xc0]
test eax, eax
jne 0x100435a1
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x38]
jmp 0x10039fee
movzx eax, byte [esp + 0x154]
mov ecx, 0x310ebc4
mov edx, 0x21
mov esi, eax
call fcn.1000c350
mov edx, dword [esp + 0x38]
mov ecx, esi
jmp 0x10039feb
movdqa xmm0, xmmword [esp + 0x60]
mov ecx, dword [esp + 4]
movd eax, xmm0
mov dword [esp + 0x60], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x154]
test eax, eax
jne 0x100433b9
mov ebx, dword [esp + 0xb4]
movsx ecx, cl
mov eax, dword [esp + 0xe0]
cmp ecx, 0x100
mov esi, ecx
setb ch
mov cl, al
add cl, 0xd0
cmp cl, 0x51
setb cl
add eax, 0x30
and cl, ch
cmp esi, eax
setae al
and al, cl
movzx eax, al
jmp 0x10039bc8
mov eax, dword [esp + 0x20]
lea edx, [0x310ebc5]
lea esi, [0x310ebc6]
mov ecx, 0xfffffff9
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1003a05e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10046891
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x1003a06d
inc ecx
test edx, edx
jne 0x1003a040
mov ebx, dword [esp + 0xc0]
dec dword [ebx]
cmp eax, 3
jne 0x1003a107
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310ebcd
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x9fff997c
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003a107
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
lea esi, [esp + 0x150]
lea edx, [esp + 0x118]
mov ecx, esi
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
cmp dword [esp + 0x150], 0
je 0x1003a258
movdqu xmm0, xmmword [esp + 0x154]
movd eax, xmm0
test eax, eax
je 0x1003a161
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310db04
mov ecx, dword [eax + 0x10]
push esi
push 8
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor edi, edi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003a1c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1003a1e6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1003a1a0
cmp dword [esp + 0x150], 0
je 0x1003a388
mov edi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor esi, 0x56
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003a4d8
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003a4e1
cmp dword [esp + 0x158], 0
jne 0x1003a161
cmp dword [esp + 0x15c], 0x7e3
jne 0x1003a161
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 7
push 0x310ec20
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push esi
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea esi, [0x310ebc5]
lea edx, [0x310ebc6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003a2f5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003a316
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003a2d0
cmp dword [esp + 0x150], 0
je 0x1003a76b
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x76
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003a8bb
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003a8c4
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1003a528
cmp dword [esp + 8], 0x7e3
jne 0x1003a528
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 0xa
push 0x310a770
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor edi, edi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003a445
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1003a466
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1003a420
cmp dword [esp + 0x150], 0
je 0x1003a813
mov edi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor esi, 0x5d
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003a901
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003a90a
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1003a528
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310db0c
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 5
call fcn.10046be0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
cmp ecx, 7
mov dword [esp + 0x150], ecx
jae 0x1003a586
mov edi, dword [ebp + 8]
lea ecx, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003a56e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10046891
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1003aae2
inc eax
test ecx, ecx
jne 0x1003a550
jmp 0x1003aae2
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x310ded7
call fcn.10008d70
add esp, 8
cmp ax, 1
jne 0x1003a53c
mov edi, edx
cmp dx, 3
jb 0x1003a53c
mov eax, dword [esp + 0x3c]
mov edx, 0x310c224
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
mov dword [esp + 0x70], ecx
push eax
push 0x16
call fcn.10046eb0
add esp, 8
movzx ecx, di
mov edi, dword [ebp + 8]
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1003a60e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10046891
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003a61d
inc eax
test edx, edx
jne 0x1003a5f0
mov eax, dword [edi]
add ecx, 0xfffffffe
mov edx, dword [eax + 0x12c]
cmp ecx, edx
jae 0x10046037
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov esi, 0xfffffc00
add esi, dword [edx + ecx*8 + 8]
cmp esi, 0xbff
ja 0x1003aae2
mov ecx, dword [edx + ecx*8 + 0xc]
mov esi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
add esi, ecx
adc ebx, 0
cmp dword [eax + 0x14c], ecx
jbe 0x1003aae2
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x150]
mov dword [esp + 0x38], ebx
mov edx, dword [eax]
push ebx
mov dword [esp + 0x64], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001f160
add esp, 0x10
xor esi, esi
lea ebx, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003a6d5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edi, dl
lea edx, [ebx + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, ebx
je 0x1003a6f6
shld dword [esp + 0x20], esi, 4
inc eax
test ebx, ebx
mov esi, edi
jne 0x1003a6b0
cmp dword [esp + 0x150], 0
je 0x1003a940
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x95
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003a9fa
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003aa03
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x1003a161
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310ecac
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x1e0c01b6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003a161
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003a161
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x1003a528
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310a841
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xfdf0f7ce
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c6f
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003a528
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003a528
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
lea esi, [esp + 0x150]
movlps qword [esp], xmm2
mov dword [esp + 8], edi
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
movd eax, xmm0
test eax, eax
jne 0x1003a142
jmp 0x1003a161
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], esi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1003a502
jmp 0x1003a528
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x38]
or ecx, dword [esp + 0x164]
or eax, dword [esp + 0x160]
or eax, ecx
jne 0x1003aae2
mov esi, ebx
mov ebx, dword [ebp + 0xc]
mov eax, edx
lea ecx, [esp + 0x150]
add eax, 0x10
adc esi, 0
mov edx, dword [ebx]
push esi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x9b
call fcn.1000c350
cmp dword [esp + 0x150], 0
je 0x100429c3
movq xmm0, qword [esp + 0x154]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
lea ecx, [esp + 4]
lea edx, [esp + 0x40]
push eax
call fcn.10051570
add esp, 4
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
jmp 0x1003aa16
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
movd edx, xmm0
mov ecx, dword [esp + 4]
mov esi, eax
shr eax, 8
shld esi, edi, 0x18
shld edi, ecx, 0x18
test edx, edx
je 0x1003aa75
mov dword [esp + 0x150], edx
mov byte [esp + 0x154], cl
mov ecx, dword [esp + 0x70]
mov word [esp + 0x15d], ax
shr eax, 0x10
mov dword [esp + 0x155], edi
mov dword [esp + 0x159], esi
mov edx, 0x310db11
mov byte [esp + 0x15f], al
lea eax, [esp + 0x150]
push eax
push 7
call fcn.10046be0
add esp, 8
mov edi, dword [ebp + 8]
jmp 0x1003aae2
mov edi, dword [ebp + 8]
test cl, 1
je 0x1003aae2
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310a858
call fcn.1001c830
add esp, 8
mov edi, dword [esp]
mov ecx, dword [esp + 0x70]
mov edx, 0xbd51f66
push dword [esp + 4]
push edi
push 0xffff1c70
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, edi
mov edi, dword [ebp + 8]
call fcn.1001e8c0
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
je 0x1003adfa
mov edx, edi
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
call fcn.10048e30
add esp, 4
xor esi, esi
lea edi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
xor ebx, ebx
nop word [eax + eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003ab45
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [edi + 1]
cmove edx, edi
je 0x1003ab66
shld ebx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x1003ab20
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1003abe1
movsd xmm0, qword [esp + 0x154]
mov edi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ecx, 0xca
mov esi, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], edi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1003abfe
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x1003ac14
mov edi, dword [esp + 0x154]
mov esi, dword [esp + 0x158]
cmp dword [edi + 0x34], 5
je 0x1003ac83
jmp 0x1003adf5
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov edx, esi
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], esi
test ecx, ecx
je 0x1003ac70
movsd xmm0, qword [esp + 0x44]
mov dword [esp + 0x150], ecx
mov edx, 0x310db18
movsd qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 7
call fcn.10046be0
add esp, 8
jmp 0x1003adfa
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
cmp dword [edi + 0x34], 5
jne 0x1003adf5
mov ecx, 0x310a85c
mov edx, 6
call 0x10057ee0
mov edi, dword [edi + 0x30]
cmp dword [edi], 0
je 0x1003ac9f
cmp dword [edi + 4], eax
je 0x1003acd3
cmp dword [edi + 0x1c], 0
je 0x1003acaa
cmp dword [edi + 0x20], eax
je 0x1003acd3
cmp dword [edi + 0x38], 0
je 0x1003acb5
cmp dword [edi + 0x3c], eax
je 0x1003acd3
cmp dword [edi + 0x54], 0
je 0x1003acc0
cmp dword [edi + 0x58], eax
je 0x1003acd3
cmp dword [edi + 0x70], 0
je 0x1003adf5
cmp dword [edi + 0x74], eax
jne 0x1003adf5
mov ecx, 0x310a862
mov edx, 9
call 0x10057ee0
cmp dword [edi], 0
je 0x1003acec
cmp dword [edi + 4], eax
je 0x1003ad20
cmp dword [edi + 0x1c], 0
je 0x1003acf7
cmp dword [edi + 0x20], eax
je 0x1003ad20
cmp dword [edi + 0x38], 0
je 0x1003ad02
cmp dword [edi + 0x3c], eax
je 0x1003ad20
cmp dword [edi + 0x54], 0
je 0x1003ad0d
cmp dword [edi + 0x58], eax
je 0x1003ad20
cmp dword [edi + 0x70], 0
je 0x1003adf5
cmp dword [edi + 0x74], eax
jne 0x1003adf5
mov ecx, 0x310a86b
mov edx, 0x14
call 0x10057ee0
cmp dword [edi], 0
je 0x1003ad39
cmp dword [edi + 4], eax
je 0x1003ad6d
cmp dword [edi + 0x1c], 0
je 0x1003ad44
cmp dword [edi + 0x20], eax
je 0x1003ad6d
cmp dword [edi + 0x38], 0
je 0x1003ad4f
cmp dword [edi + 0x3c], eax
je 0x1003ad6d
cmp dword [edi + 0x54], 0
je 0x1003ad5a
cmp dword [edi + 0x58], eax
je 0x1003ad6d
cmp dword [edi + 0x70], 0
je 0x1003adf5
cmp dword [edi + 0x74], eax
jne 0x1003adf5
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310a87f
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push edi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003adf5
mov ecx, dword [0x3111000]
push edx
push eax
push edi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
mov edi, dword [ebp + 8]
dec dword [esi]
push 0x200
push 0
lea eax, [esp + 0x158]
push eax
call 0x10058290
add esp, 0xc
lea edx, [esp + 0x118]
mov ecx, esp
push edi
call fcn.100530c0
add esp, 4
xor edi, edi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003ae65
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1003ae84
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1003ae40
mov eax, dword [esp]
test eax, eax
je 0x1003aef3
movsd xmm0, qword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x3111000]
mov ebx, ecx
movsd qword [esp + 0x44], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x1003af00
lea ecx, [esp + 0x98]
call fcn.10053410
xor esi, esi
jmp 0x1003af18
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edi, dword [ebp + 8]
jmp 0x1003af32
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov esi, ecx
movq xmm0, qword [esp + 0x40]
mov ecx, ebx
xor ecx, 0xee
movd eax, xmm0
test eax, eax
jne 0x1003b6d8
cmp ecx, 0x8000
mov eax, esi
xorps xmm0, xmm0
sbb eax, 0
jae 0x1003af47
jmp 0x1003b6d8
mov eax, dword [edi]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x10045911
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
xor ebx, ebx
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, esi
sub eax, edx
sbb ecx, 0
cmovb eax, ebx
cmovb ecx, ebx
cmp eax, 0x8000
sbb ecx, 0
jb 0x1003b6d8
mov eax, dword [ebp + 0xc]
mov ecx, esp
mov dword [esp + 0x20], 0
mov dword [esp + 0x38], esi
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x64], eax
push dword [eax + 8]
call fcn.10003b30
add esp, 8
lea edi, [0x310a839]
lea ecx, [0x310a83a]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax]
movzx ebx, byte [edi]
mov edi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1003aff5
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10046891
add bl, 0xa9
mov ecx, ebx
mov ebx, esi
movzx edx, cl
lea ecx, [edi + 1]
shl ebx, 4
or edx, ebx
test eax, eax
cmove ecx, edi
je 0x1003b016
shld dword [esp + 0x20], esi, 4
inc eax
test edi, edi
mov esi, edx
jne 0x1003afd0
cmp dword [esp], 0
je 0x1003b08b
mov eax, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov esi, edx
lea ecx, [esp + 0x40]
xor esi, 0xfa
mov dword [esp + 0x80], eax
mov dword [esp + 0x70], eax
mov eax, dword [0x3111000]
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x1003b11c
lea ecx, [esp + 0x80]
call fcn.10053410
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, esi
xor esi, esi
jmp 0x1003b6d8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [edx + 8]
jne 0x10046a81
mov eax, dword [esp + 8]
mov edx, dword [ecx + 0x18]
mov esi, dword [esp + 0x38]
mov ebx, dword [ecx + 0x1c]
mov dword [esp + 0xc0], ecx
mov ecx, esp
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
adc esi, 0xffffffff
push 0
push 0x10
lea edi, [esp + 0x158]
push edi
push esi
push eax
push dword [esp + 0x74]
mov dword [esp + 0x118], ebx
push ebx
call fcn.1001e960
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x1003b138
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0xe0], ecx
jmp 0x1003b1d9
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x70]
movdqa xmm0, xmmword [esp + 0x20]
mov dword [eax], ecx
mov ecx, esi
mov dword [eax + 4], ebx
mov esi, eax
jmp 0x1003b6d8
cmp dword [esp + 4], 0x10
jne 0x1003b157
mov dword [esp + 0x20], 0
mov dword [esp + 0xe0], 0
jmp 0x1003b1d9
xor ecx, ecx
lea edx, [0x310c469]
lea edi, [0x310c46a]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1003b191
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1003b1b0
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1003b16c
movdqa xmm0, xmmword [0x3108320]
xor ebx, 0x91
mov dword [esp + 0xe0], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edi, edi
lea esi, [0x310a839]
lea ebx, [0x310a83a]
mov ecx, 0xfffffff9
xor eax, eax
nop
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1003b215
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10046891
add dl, 0xa9
mov dh, dl
mov ebx, edi
movzx edx, dh
shl ebx, 4
or edx, ebx
lea ebx, [esi + 1]
test ecx, ecx
cmove ebx, esi
je 0x1003b234
shld eax, edi, 4
inc ecx
test esi, esi
mov edi, edx
jne 0x1003b1f0
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xac], edx
test eax, eax
je 0x1003b2e3
mov ebx, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [0x3111000]
movq qword [esp + 4], xmm0
pshufd xmm0, xmm0, 0x55
lea ecx, [esp + 0x40]
movd dword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003b2ad
lea ecx, [esp + 0x80]
call fcn.10053410
xor ecx, ecx
jmp 0x1003b2c0
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], ebx
movq xmm1, qword [esp]
mov ebx, dword [esp + 0x60]
movd eax, xmm1
test eax, eax
je 0x1003b2e3
xor dword [esp + 0xac], 0x102
mov ebx, ecx
jmp 0x1003b661
xor eax, eax
cmp dword [esp + 0x150], 0x6578652e
je 0x1003b3e9
cmp dword [esp + 0x151], 0x6578652e
mov eax, 1
je 0x1003b3e9
cmp dword [esp + 0x152], 0x6578652e
mov eax, 2
je 0x1003b3e9
cmp dword [esp + 0x153], 0x6578652e
mov eax, 3
je 0x1003b3e9
cmp dword [esp + 0x154], 0x6578652e
mov eax, 4
je 0x1003b3e9
cmp dword [esp + 0x155], 0x6578652e
mov eax, 5
je 0x1003b3e9
cmp dword [esp + 0x156], 0x6578652e
mov eax, 6
je 0x1003b3e9
cmp dword [esp + 0x157], 0x6578652e
mov eax, 7
je 0x1003b3e9
cmp dword [esp + 0x158], 0x6578652e
mov eax, 8
je 0x1003b3e9
cmp dword [esp + 0x159], 0x6578652e
mov eax, 9
je 0x1003b3e9
cmp dword [esp + 0x15a], 0x6578652e
mov eax, 0xa
je 0x1003b3e9
cmp dword [esp + 0x15b], 0x6578652e
mov eax, 0xb
je 0x1003b3e9
cmp dword [esp + 0x15c], 0x6578652e
mov eax, 0xc
je 0x1003b3e9
xor eax, eax
jmp 0x1003b661
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0xf8]
mov ecx, esp
add edi, eax
adc esi, 0
add edi, 0xfffffdf0
adc esi, 0xffffffff
push 0
push 0x200
lea eax, [esp + 0x158]
push eax
push esi
push edi
push ebx
push dword [esp + 0x118]
call fcn.1001e960
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x1003b443
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], ecx
jmp 0x1003b59b
cmp dword [esp + 4], 0x200
jne 0x1003b51c
mov dword [esp + 0x70], 0
mov dword [esp + 0x60], 0
jmp 0x1003b59b
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x100429b5
mov edx, dword [esp + 0x160]
mov ecx, esp
push dword [esp + 0x80]
push dword [esp + 0x168]
call fcn.1004a540
add esp, 8
mov ecx, 0x310deac
mov edx, 0x141
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x10042e64
mov edx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10043293
movq xmm0, qword [esp + 0x45]
movzx ecx, byte [esp + 0x44]
mov edx, dword [esp + 0x4c]
movq qword [esp + 5], xmm0
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov byte [esp + 4], cl
jmp 0x10039681
xor ecx, ecx
lea edx, [0x310c469]
lea edi, [0x310c46a]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1003b556
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1003b575
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1003b531
movdqa xmm0, xmmword [0x3108320]
xor ebx, 0x91
mov dword [esp + 0x60], 0
mov dword [esp + 0x70], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor ebx, ebx
lea eax, [0x310a839]
lea edi, [0x310a83a]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx ecx, byte [eax]
mov eax, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003b5e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [eax + 1]
test edx, edx
cmove edi, eax
je 0x1003b606
shld dword [esp + 0x20], ebx, 4
inc edx
test eax, eax
mov ebx, esi
jne 0x1003b5c0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1003c28b
mov ecx, dword [esp + 0x60]
xor esi, 0x112
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov edx, esp
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x40]
push esi
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1003c28b
movd xmm0, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov edi, dword [ebp + 8]
pshufd xmm1, xmm0, 0x50
mov dword [esp + 0xac], ecx
mov esi, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
movd xmm0, eax
movss xmm1, xmm0
movaps xmmword [esp + 0x20], xmm1
push esi
call fcn.10022fa0
add esp, 4
dec dword [esi]
jne 0x1003b6c9
mov eax, dword [esp + 0xc0]
inc dword [esi + 4]
lea ecx, [eax + 8]
call fcn.10053750
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + 4]
dec eax
mov dword [ecx + 4], eax
or eax, dword [ecx]
jne 0x1003b6c9
mov eax, dword [0x3111000]
push 8
push 0x30
push ecx
push 0x310fe14
call dword [eax + 0x10]
add esp, 0x10
mov ecx, dword [esp + 0xac]
movdqa xmm0, xmmword [esp + 0x20]
mov esi, ebx
movd eax, xmm0
test eax, eax
je 0x1003b715
mov eax, dword [esp + 0x3c]
movq qword [esp + 0x150], xmm0
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], esi
mov edx, 0x310db1f
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 7
call fcn.10046be0
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x1003b935
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x80]
adc esi, 0
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x150]
push 3
push 0x310a8b8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003b7a5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003b7c6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003b780
cmp dword [esp + 0x150], 0
je 0x1003b839
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1003b8d7
lea ecx, [esp + 0x40]
call fcn.10053410
xor eax, eax
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
jne 0x1003b8ee
jmp 0x1003b935
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x1003b935
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310a8f4
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xebe78076
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c74
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003b935
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003b935
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
je 0x1003b935
xor edi, 0x137
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x150], ecx
mov edx, 0x310db26
mov dword [esp + 0x158], edi
movd dword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 7
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003b995
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003b9b6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003b970
cmp dword [esp + 0x150], 0
je 0x1003ba27
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x160
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003bb7b
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003bb84
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1003bbcb
cmp dword [esp + 8], 0x1ec
jne 0x1003bbcb
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 0xa
push 0x310a990
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003bae5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003bb06
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003bac0
cmp dword [esp + 0x150], 0
je 0x1003c06a
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x167
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003c21c
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003c225
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1003bbcb
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310db2d
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 7
call fcn.10046be0
add esp, 8
xorps xmm0, xmm0
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
movaps xmmword [esp + 0x80], xmm0
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003bc35
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003bc56
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003bc10
cmp dword [esp + 0x150], 0
je 0x1003bcc7
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x18c
lea ecx, [esp + 0x40]
mov dword [esp + 0x98], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003be1b
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x1003be24
movq xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
pxor xmm2, xmm2
movsd qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1003be3c
cmp dword [esp + 8], 0x13418bf
jne 0x1003be3c
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], ecx
lea ecx, [esp + 0x150]
push 9
push 0x310aa64
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003bd85
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003bda6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003bd60
cmp dword [esp + 0x150], 0
je 0x1003c112
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x194
lea ecx, [esp + 0x40]
mov dword [esp + 0x98], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003c25b
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x1003c264
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm2, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm2
test eax, eax
je 0x1003be6e
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x150], xmm2
mov edx, 0x310db34
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 7
call fcn.10046be0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
test ecx, ecx
je 0x1003c340
mov edx, dword [eax + 0x128]
lea esi, [ecx + ecx*4]
mov ecx, dword [edx + esi*8 - 0x20]
lea edi, [ecx - 0x20000]
cmp edi, 0x1dffff
mov edi, dword [ebp + 8]
ja 0x1003c340
lea edx, [edx + esi*8]
mov esi, 0x636f6c
movq xmm0, qword [edx - 0x28]
mov edx, 0x6c65722e
movq qword [esp + 0x80], xmm0
xor edx, dword [esp + 0x80]
xor esi, dword [esp + 0x83]
or esi, edx
je 0x1003bef9
mov edx, 0x7273722e
movzx esi, word [esp + 0x84]
xor edx, dword [esp + 0x80]
xor esi, 0x63
or esi, edx
jne 0x1003c340
lea edx, [eax + 0x28]
cmp dword [edx], 0
jne 0x1003bf05
jmp 0x1003c340
lea edx, [eax + 0x40]
cmp dword [edx], 0
je 0x1003c340
cmp dword [edx + 4], ecx
jae 0x1003c340
mov esi, dword [eax + 0xcc]
cmp dword [eax + 0x14c], esi
jbe 0x1003c340
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x150]
adc edi, 0
mov dword [esp + 0x98], eax
push 2
push 0x310ab5c
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10023730
add esp, 0x18
xor edi, edi
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003bfa5
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add bl, 0xa9
mov edx, ebx
mov ecx, edi
movzx ebx, dl
lea edx, [esi + 1]
shl ecx, 4
or ebx, ecx
test eax, eax
cmove edx, esi
je 0x1003bfc6
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, ebx
jne 0x1003bf80
cmp dword [esp + 0x150], 0
mov edi, dword [ebp + 8]
je 0x1003c2cb
movq xmm0, qword [esp + 0x154]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
xor ebx, 0x1e2
lea edx, [esp + 0x40]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 4]
push ebx
call fcn.10051570
add esp, 4
mov eax, dword [esp + 4]
test eax, eax
je 0x1003c340
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x154], ecx
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], esi
mov edx, 0x310db3b
push eax
push 7
call fcn.10046be0
add esp, 8
jmp 0x1003c340
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x1003bbcb
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310aa58
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x36c5fd6c
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c75
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003bbcb
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003bbcb
mov eax, dword [esp + 0x158]
pxor xmm2, xmm2
or eax, dword [esp + 0x15c]
je 0x1003be3c
lea ecx, [esp + 0x150]
lea edx, [esp + 0x118]
push dword [ebp + 8]
call fcn.100530c0
add esp, 4
xor ecx, ecx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1003c185
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov esi, ecx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003c1a4
shld edi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1003c160
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1003c2b4
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003da76
lea ecx, [esp + 0x98]
call fcn.10053410
xor edi, edi
jmp 0x1003da89
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1003bba5
jmp 0x1003bbcb
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
movd xmm0, eax
movlps qword [esp], xmm1
mov dword [esp + 8], edi
movsd xmm2, qword [esp + 4]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x1003be3c
mov edi, dword [ebp + 8]
mov eax, 0xfffffe00
test eax, eax
je 0x1003d9ec
movzx ecx, byte [esp + eax + 0x350]
inc eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x1003c293
jmp 0x1003da48
mov ebx, dword [esp + 0x158]
mov edi, dword [esp + 0x15c]
pxor xmm2, xmm2
jmp 0x1003dab9
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x1003c340
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310ab84
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
mov eax, dword [edi]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x310ab88
call fcn.10008d70
add esp, 8
cmp ax, 1
jne 0x1003c4a3
mov eax, dword [edi]
mov ecx, edx
movzx ecx, cx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x10043647
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov ebx, dword [eax + 8]
mov esi, dword [edx + ecx*8 + 0xc]
add ebx, esi
mov dword [esp + 0xc0], ebx
mov ebx, dword [eax + 0xc]
adc ebx, 0
cmp dword [eax + 0x14c], esi
mov dword [esp + 0xac], ebx
jbe 0x1003c3c0
mov eax, dword [edx + ecx*8 + 0x10]
cmp eax, 0x1000
mov dword [esp + 0xf8], eax
jae 0x1003c6fa
mov al, 1
mov dword [esp + 0xe0], eax
lea ecx, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
nop word [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003c3fe
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10046891
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1003c40d
inc eax
test ecx, ecx
jne 0x1003c3e0
cmp byte [esp + 0xe0], 0
jne 0x1003c4a3
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310ab8d
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xc39eb295
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c71
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003c4a3
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
mov edx, edi
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
call fcn.10048e30
add esp, 4
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003c505
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003c526
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003c4e0
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1003c59f
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor edi, 0x23e
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1003c5af
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x1003c5c5
mov eax, dword [esp + 0x154]
mov edi, dword [esp + 0x158]
jmp 0x1003c5e9
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edi
test ecx, ecx
jne 0x1003cc83
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov eax, dword [eax + 0x34]
dec dword [edi]
mov edi, dword [ebp + 8]
cmp eax, 1
jne 0x1003ccc1
mov edx, edi
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
call fcn.10048e30
add esp, 4
xor edi, edi
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003c655
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ebx, ch
shl esi, 4
or ebx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003c676
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, ebx
jne 0x1003c630
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1003cb0b
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ebx, 0x242
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1003cc52
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x1003cc68
mov al, 1
pxor xmm0, xmm0
xor ecx, ecx
xor esi, esi
mov dword [esp + 0xb0], 0
movdqa xmmword [esp], xmm0
mov dword [esp + 0xe0], eax
nop dword [eax + eax]
cmp ecx, dword [esp + 0xf8]
mov eax, esi
sbb eax, 0
jae 0x1003cb03
mov eax, ecx
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x70], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x150]
add eax, dword [esp + 0xc0]
mov edx, dword [edi]
adc esi, dword [esp + 0xac]
push 1
push 0x10
lea ebx, [esp + 8]
push ebx
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001e960
add esp, 0x1c
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x1003c7a0
movq xmm0, qword [esp + 0x154]
mov eax, dword [esp + 0x15c]
movdqa xmmword [esp + 0x100], xmm0
mov dword [esp + 0x70], eax
jmp 0x1003c840
xor ecx, ecx
cmp dword [esp + 0x154], 0x10
je 0x1003c840
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x310c46a]
xor edx, edx
lea esi, [0x310c469]
nop word cs:[eax + eax]
nop
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1003c7f5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test eax, eax
cmove edi, esi
je 0x1003c814
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x1003c7d0
movdqa xmm1, xmmword [0x3108320]
xor ebx, 0x91
mov dword [esp + 0x70], 0
mov ecx, 0xc76970a8
movd xmm0, ebx
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x100], xmm1
inc dword [esp + 0xb0]
mov dword [esp + 0xb4], ecx
xor edi, edi
mov ecx, 0xfffffff9
lea eax, [0x310a83a]
lea ebx, [0x310a839]
mov dword [esp + 0x20], 0
nop dword [eax]
movzx edx, byte [ebx]
mov ebx, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x1003c891
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x10046891
add dl, 0xa9
mov eax, edx
mov edx, edi
movzx esi, al
lea eax, [ebx + 1]
shl edx, 4
or esi, edx
test ecx, ecx
cmove eax, ebx
je 0x1003c8b2
shld dword [esp + 0x20], edi, 4
inc ecx
test ebx, ebx
mov edi, esi
jne 0x1003c870
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x70]
test eax, eax
je 0x1003c969
movdqa xmm0, xmmword [esp + 0x100]
mov dword [esp + 0x150], eax
mov eax, dword [0x3111000]
movq qword [esp + 0x154], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003c941
lea ecx, [esp + 0x80]
call fcn.10053410
xor ecx, ecx
movq xmm0, qword [esp + 0x150]
movd eax, xmm0
test eax, eax
je 0x1003c969
jmp 0x1003d9cb
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], ebx
movq xmm0, qword [esp + 0x150]
movd eax, xmm0
test eax, eax
jne 0x1003d9cb
movdqa xmm1, xmmword [esp]
movd xmm0, dword [esp + 4]
pxor xmm4, xmm4
movd xmm3, dword [esp + 8]
movd xmm2, dword [esp + 0xc]
movdqa xmm5, xmmword [0x3108330]
pcmpeqb xmm1, xmm4
pcmpeqb xmm3, xmm4
pcmpeqb xmm2, xmm4
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pcmpeqb xmm0, xmm4
punpcklbw xmm0, xmm0
pand xmm1, xmm5
punpcklwd xmm0, xmm0
pand xmm0, xmm5
punpcklbw xmm3, xmm3
punpcklbw xmm2, xmm2
punpcklwd xmm3, xmm3
punpcklwd xmm2, xmm2
pand xmm3, xmm5
pand xmm2, xmm5
paddd xmm3, xmm1
paddd xmm2, xmm0
paddd xmm2, xmm3
pshufd xmm0, xmm2, 0xee
paddd xmm0, xmm2
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd eax, xmm1
cmp eax, 2
mov eax, dword [esp + 0x38]
ja 0x1003cb03
mov esi, edi
add eax, dword [esp + 0xc0]
mov edi, dword [ebp + 0xc]
lea ecx, [esp + 0x150]
adc esi, dword [esp + 0xac]
mov edx, dword [edi]
add eax, 0x10
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fa10
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea ebx, [0x310a83a]
xor edx, edx
lea ecx, [0x310a839]
nop word cs:[eax + eax]
nop
mov esi, ecx
movzx ecx, byte [ecx]
mov dword [esp + 0x20], ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003ca79
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
movzx esi, ch
mov ecx, dword [esp + 0x20]
mov ebx, edi
shl ebx, 4
or esi, ebx
test eax, eax
lea ebx, [ecx + 1]
cmove ebx, ecx
je 0x1003ca9c
shld edx, edi, 4
inc eax
test ecx, ecx
mov edi, esi
jne 0x1003ca50
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
test eax, eax
jne 0x1003d8a8
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x60]
lea eax, [ecx - 2]
cmp eax, 0xfd
jae 0x1003cb03
add edx, ecx
adc esi, 0
add edx, 0x14
mov eax, edx
adc esi, 0
xor ecx, ecx
and eax, 0xfffffff0
test dl, 0xf
setne cl
shl ecx, 4
add ecx, eax
adc esi, 0
jb 0x1003cb03
cmp dword [esp + 0xb0], 8
mov edx, dword [esp + 0x70]
jne 0x1003c720
mov dword [esp + 0xe0], 0
mov edi, dword [ebp + 8]
jmp 0x1003c3c9
mov eax, dword [esp + 0x154]
mov ebx, dword [esp + 0x158]
cmp dword [eax + 0x34], 0
je 0x1003d670
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx]
cmp dword [ecx + 0x14c], eax
jbe 0x1003cc4b
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x98]
adc esi, 0
dec dword [ebx]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 3
push 0x310ace8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003cbb5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003cbd6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003cb90
cmp dword [esp + 0x150], 0
je 0x1003d76a
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x267
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003d876
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003d87f
mov edi, dword [ebp + 8]
dec dword [ebx]
jmp 0x1003ccc1
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x1003d65d
movq xmm0, qword [esp + 0x44]
mov edi, dword [ebp + 8]
mov dword [esp + 0x150], ecx
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x310db49
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x1003cee5
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x80]
adc esi, 0
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x150]
push 4
push 0x310ada4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003cd55
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003cd76
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003cd30
cmp dword [esp + 0x150], 0
je 0x1003cde9
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1003ce87
lea ecx, [esp + 0x40]
call fcn.10053410
xor eax, eax
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
jne 0x1003ce9e
jmp 0x1003cee5
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x1003cee5
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310adf4
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xe2773f3
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c78
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003cee5
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003cee5
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
je 0x1003cee5
xor edi, 0x297
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x150], ecx
mov edx, 0x310db51
mov dword [esp + 0x158], edi
movd dword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003cf45
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003cf66
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003cf20
cmp dword [esp + 0x150], 0
je 0x1003cfd7
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x2ab
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003d12b
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003d134
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1003d17b
cmp dword [esp + 8], 0x1337c68
jne 0x1003d17b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 0xa
push 0x310ae70
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003d095
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003d0b6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003d070
cmp dword [esp + 0x150], 0
je 0x1003d683
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x2bf
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003d72b
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003d734
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1003d17b
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310db59
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
mov eax, dword [edi]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x310ab88
call fcn.10008d70
add esp, 8
cmp ax, 1
jne 0x1003de65
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ebx, dword [eax + 0x14c]
mov edi, dword [eax + 0xc]
mov ecx, esi
add ecx, ebx
mov dword [esp + 0xe0], ecx
mov ecx, edi
adc ecx, 0
mov dword [esp + 0x100], ecx
movzx ecx, dx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x10043656
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb0], edi
mov edx, dword [eax + ecx*8 + 0xc]
add esi, edx
adc edi, 0
cmp ebx, edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x70], edi
jbe 0x1003d20e
cmp dword [eax + ecx*8 + 0x10], 0x1000
jae 0x1003d266
mov edi, dword [ebp + 8]
lea ecx, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003d24e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10046891
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1003de65
inc eax
test ecx, ecx
jne 0x1003d230
jmp 0x1003de65
mov edi, dword [ebp + 0xc]
xor eax, eax
xor esi, esi
xor ecx, ecx
mov dword [esp + 0xf8], ebx
inc ecx
mov dword [esp + 0x60], eax
add eax, dword [esp + 0x20]
mov dword [esp + 0x38], esi
mov edx, dword [edi]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x150]
adc esi, dword [esp + 0x70]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fa10
add esp, 0x14
mov eax, 0xfffffff9
lea edi, [0x310a83a]
xor edx, edx
xor ecx, ecx
lea esi, [0x310a839]
nop
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1003d2e5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test eax, eax
cmove edi, esi
je 0x1003d304
shld ecx, edx, 4
inc eax
test esi, esi
mov edx, ebx
jne 0x1003d2c0
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
test eax, eax
mov dword [esp + 0xc0], ecx
jne 0x1003d912
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
jae 0x1003d812
mov eax, dword [esp + 0x60]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x38]
lea ecx, [esp + 0x150]
or eax, 4
mov edx, dword [edi]
add eax, dword [esp + 0x20]
adc esi, dword [esp + 0x70]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fa10
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x310a83a]
xor edx, edx
lea esi, [0x310a839]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1003d3a5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test eax, eax
cmove edi, esi
je 0x1003d3c4
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x1003d380
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
test eax, eax
jne 0x1003d96b
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
mov eax, dword [esp + 0xc0]
jae 0x1003d812
mov edi, dword [ebp + 0xc]
xor ecx, eax
cmp ecx, 0x68
jb 0x1003d826
cmp dword [esp + 0xf8], ecx
jbe 0x1003d826
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x38]
mov edx, dword [edi]
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0x150]
add eax, dword [esp + 0x20]
adc esi, dword [esp + 0x70]
add eax, 0x60
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fdc0
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea esi, [0x310a83a]
xor edx, edx
lea edi, [0x310a839]
nop word [eax + eax]
movzx ebx, byte [edi]
mov edi, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1003d485
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov esi, ecx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [edi + 1]
test eax, eax
cmove esi, edi
je 0x1003d4a4
shld edx, ecx, 4
inc eax
test edi, edi
mov ecx, ebx
jne 0x1003d460
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1003d517
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x1160], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 0xc]
je 0x1003d531
lea ecx, [esp + 0x80]
call fcn.10053410
xor edx, edx
jmp 0x1003d547
mov ebx, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0xb0]
jmp 0x1003d565
movdqa xmm0, xmmword [esp + 0x1160]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
movq xmm0, qword [esp]
mov ecx, dword [esp + 0xb0]
xor ebx, 0x301
movd eax, xmm0
test eax, eax
jne 0x1003db7d
add ebx, dword [esp + 0xc0]
mov eax, 0xffffffff
adc edx, 0
cmovb ebx, eax
cmovb edx, eax
cmp ebx, dword [esp + 0xb4]
mov eax, edx
sbb eax, ecx
jb 0x1003d826
cmp ebx, dword [esp + 0xe0]
sbb edx, dword [esp + 0x100]
jae 0x1003d826
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0xac]
add eax, 0x68
adc esi, 0
cmp ecx, 3
jne 0x1003d276
mov ecx, 0x310a838
mov edx, 0x317
call fcn.1000c350
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310af3c
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xcaa27b2b
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c7a
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003de62
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003de62
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp dword [eax + 0x34], 0
jne 0x1003cb23
xor ecx, ecx
xor edx, edx
push 0x310ab94
call fcn.10008f50
add esp, 4
ud2
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x1003d17b
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310af38
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xd5bd7431
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c79
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003d17b
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003d17b
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1003d155
jmp 0x1003d17b
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x1003ccc1
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310ad24
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x46ad7733
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c77
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003ccc1
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003ccc1
mov ecx, 0x310a838
mov edx, 0x317
call fcn.1000c350
jmp 0x1003de62
mov edi, dword [ebp + 8]
lea ecx, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
nop word [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003d85e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10046891
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1003de65
inc eax
test ecx, ecx
jne 0x1003d840
jmp 0x1003de65
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], edi
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x1003ccc1
movq xmm0, qword [esp + 4]
jmp 0x1003cc8c
mov edi, dword [esp + 0x158]
mov ebx, dword [esp + 0x15c]
mov dword [esp + 0x60], eax
mov eax, dword [0x3111000]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003db98
lea ecx, [esp + 0x80]
call fcn.10053410
mov dword [esp + 0xc0], 0
xor esi, 0x212
jmp 0x1003dbae
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x15c]
mov dword [esp + 0x60], eax
mov eax, dword [0x3111000]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1003dcf9
lea ecx, [esp + 0x40]
call fcn.10053410
mov dword [esp + 0x38], 0
xor ebx, 0x2ef
jmp 0x1003dd18
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x15c]
mov dword [esp + 0x60], eax
mov eax, dword [0x3111000]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1003dd05
lea ecx, [esp + 0x40]
call fcn.10053410
mov dword [esp + 0x38], 0
xor ebx, 0x2f5
jmp 0x1003dd18
xor esi, 0x20b
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x60], eax
movd dword [esp + 0x38], xmm0
jmp 0x1003dbae
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
mov edx, esp
push 4
push 0x310a883
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov edx, 0x7c82936c
mov ecx, dword [eax + 0x10]
push dword [esp + 0x44]
push edi
push 0xffff1c73
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 0x48]
mov ecx, edi
mov edi, dword [ebp + 8]
call fcn.1001e8c0
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
push esi
call fcn.10022fa0
add esp, 4
mov ecx, esi
call fcn.10053f30
pxor xmm0, xmm0
jmp 0x1003af42
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [esp + 0x44]
movd eax, xmm0
mov dword [edi], eax
mov dword [edi + 4], esi
movq xmm0, qword [esp]
xor ebx, 0x19a
pxor xmm2, xmm2
movd eax, xmm0
test eax, eax
je 0x1003dab9
movd xmm1, ebx
movd xmm2, edi
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm2, xmm0
jmp 0x1003be3c
cmp ebx, 0x8000
mov eax, edi
sbb eax, 0
jb 0x1003be3c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x10045911
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov esi, edi
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov ecx, ebx
xor eax, eax
sub ecx, edx
sbb esi, 0
cmovb ecx, eax
cmovb esi, eax
cmp ecx, 0x8000
sbb esi, 0
jb 0x1003be3c
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x150]
mov esi, dword [eax + 8]
mov edx, dword [esi]
push dword [ebp + 0x10]
push dword [esi + 8]
call fcn.10003b30
add esp, 8
mov ecx, 0x310a838
mov edx, 0x1a4
call fcn.1000c350
mov ecx, esp
lea edx, [esp + 0x150]
push eax
call fcn.1001e900
add esp, 4
cmp dword [esp], 0
je 0x10042d78
movsd xmm0, qword [esp + 8]
movss xmm2, dword [esp + 4]
movss xmm1, dword [esp + 0x10]
unpcklps xmm2, xmm0
shufps xmm1, xmm0, 0xd4
shufps xmm2, xmm1, 0x24
jmp 0x1003be3c
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x38], edx
mov dword [esp + 0x60], eax
movd dword [esp + 0xc0], xmm0
jmp 0x1003dd18
mov eax, dword [esp + 0x44]
xor esi, 0x212
mov dword [eax], edi
mov dword [esp + 0xc0], eax
mov dword [eax + 4], ebx
xor eax, eax
lea ecx, [0x310a839]
lea edx, [0x310a83a]
mov edi, 0xfffffff9
mov dword [esp + 0x70], 0
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov dword [esp + 0x20], edi
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003dbf9
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add bl, 0xa9
mov edx, ebx
mov edi, eax
movzx ebx, dl
lea edx, [ecx + 1]
shl edi, 4
or ebx, edi
mov edi, dword [esp + 0x20]
test edi, edi
cmove edx, ecx
je 0x1003dc1e
shld dword [esp + 0x70], eax, 4
inc edi
test ecx, ecx
mov eax, ebx
jne 0x1003dbd0
movss xmm0, dword [esp + 0x38]
movss xmm1, dword [esp + 0x60]
mov edi, dword [esp + 0xc0]
mov eax, dword [0x3111000]
xor ebx, 0x22b
mov dword [esp], esi
unpcklps xmm1, xmm0
mov dword [esp + 4], edi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x15c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x150], 0
je 0x1003dc77
mov ecx, esp
call fcn.10053410
xor eax, eax
jmp 0x1003dc83
mov eax, dword [esp + 0x154]
mov dword [eax], esi
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov edx, 0x310db42
movlps qword [esp + 0x98], xmm0
movzx ecx, word [esp + 0x9d]
mov word [esp + 0x155], cx
movzx ecx, byte [esp + 0x9f]
mov byte [esp + 0x157], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x154], cl
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 7
call fcn.10046be0
add esp, 8
jmp 0x1003c4a3
mov eax, dword [esp + 4]
xor ebx, 0x2ef
jmp 0x1003dd0f
mov eax, dword [esp + 4]
xor ebx, 0x2f5
mov dword [eax], esi
mov dword [esp + 0x38], eax
mov dword [eax + 4], edi
xor esi, esi
lea ecx, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x70], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [ecx]
mov dword [esp + 0x20], edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003dd67
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edi, dl
shl ecx, 4
or edi, ecx
mov ecx, dword [esp + 0x20]
test eax, eax
lea edx, [ecx + 1]
cmove edx, ecx
je 0x1003dd8c
shld dword [esp + 0x70], esi, 4
inc eax
test ecx, ecx
mov esi, edi
jne 0x1003dd40
movss xmm0, dword [esp + 0xc0]
movss xmm1, dword [esp + 0x60]
mov esi, dword [esp + 0x38]
mov eax, dword [0x3111000]
xor edi, 0x317
mov dword [esp], ebx
unpcklps xmm1, xmm0
mov dword [esp + 4], esi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x15c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x150], 0
je 0x1003dde5
mov ecx, esp
call fcn.10053410
xor eax, eax
jmp 0x1003ddf1
mov eax, dword [esp + 0x154]
mov dword [eax], ebx
mov dword [eax + 4], esi
movaps xmm0, xmmword [esp + 0x20]
mov edx, 0x310db61
movlps qword [esp + 0x98], xmm0
movzx ecx, word [esp + 0x9d]
mov word [esp + 0x155], cx
movzx ecx, byte [esp + 0x9f]
mov byte [esp + 0x157], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0xc0]
mov byte [esp + 0x154], cl
mov dword [esp + 0x158], edi
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
mov edi, dword [ebp + 8]
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003dec5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003dee6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003dea0
cmp dword [esp + 0x150], 0
je 0x1003df57
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x329
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003e0ab
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003e0b4
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1003e0fb
cmp dword [esp + 8], 0x7e3
jne 0x1003e0fb
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 6
push 0x310afc4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003e015
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003e036
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003dff0
cmp dword [esp + 0x150], 0
je 0x1003e792
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x341
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003e83a
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003e843
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1003e0fb
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310db69
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
cmp dword [esp + 0x148], 0x63
ja 0x1003e39b
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003e165
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003e186
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003e140
cmp dword [esp + 0x150], 0
je 0x1003e1f7
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x359
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003e34b
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003e354
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1003e39b
cmp dword [esp + 8], 0x7e3
jne 0x1003e39b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 8
push 0x310b0a4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003e2b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003e2d6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003e290
cmp dword [esp + 0x150], 0
je 0x1003e94a
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x373
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10041642
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1004164b
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1003e39b
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310db71
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
mov eax, dword [edi]
mov ecx, 0xfffffe00
add ecx, dword [eax + 0x2c]
cmp ecx, 0x7fdff
ja 0x1003ea9b
mov edx, edi
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
call fcn.1004cf00
add esp, 4
xor esi, esi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
xor edi, edi
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003e405
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1003e424
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1003e3e0
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1003e4a1
movsd xmm0, qword [esp + 0x154]
mov edi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ecx, 0x389
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], edi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1003e4b5
lea ecx, [esp + 0x98]
call fcn.10053410
xor ebx, ebx
jmp 0x1003e4cb
mov eax, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
mov dword [esp + 0x70], eax
jmp 0x1003e4fd
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x1003e4f4
movsd xmm0, qword [esp + 0x44]
jmp 0x1003ea67
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
mov ecx, 0x310b148
mov edx, 0x1c
call 0x10057ee0
mov ecx, dword [edi + 0x20]
mov ebx, dword [edi + 0x1c]
mov dword [esp + 0x150], 4
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x38], 0
test ecx, ecx
je 0x1003e610
imul edi, ecx, 0x2c
xor edx, edx
mov dword [esp + 0x60], 4
mov dword [esp + 0x20], 0
add edi, ebx
add ebx, 0x2c
jmp 0x1003e56b
cmp ebx, edi
lea ebx, [ebx + 0x2c]
je 0x1003e622
cmp dword [ebx - 0x1c], 0
jne 0x1003e560
cmp eax, dword [ebx - 0x18]
jne 0x1003e560
mov ecx, dword [ebx - 8]
mov esi, 0xfffffe00
add ecx, esi
cmp ecx, 0x7fe00
jae 0x1003e560
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc0], eax
inc ecx
je 0x10046aae
cmp ecx, dword [esp + 0x158]
jbe 0x1003e5d8
mov esi, ecx
call fcn.10053440
mov edx, esi
lea ecx, [esp + 0x150]
cmp eax, esi
jbe 0x1003e5cb
mov edx, eax
call fcn.1001d460
mov edx, esi
lea ecx, [esp + 0x150]
cmp al, 8
je 0x1003e5d8
call fcn.1001d460
cmp al, 8
jne 0x10046ae2
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
lea eax, [ebx - 0x2c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0xc0]
inc edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x154], edx
mov dword [esp + 0x20], edx
shr edx, 8
cmp ebx, edi
jne 0x1003e55a
jmp 0x1003e622
mov dword [esp + 0x60], 4
xor edx, edx
mov dword [esp + 0x20], 0
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x158]
shl edx, 8
or eax, edx
mov dword [esp + 0xc0], ecx
je 0x1003e773
mov esi, dword [esp + 0x60]
mov edi, dword [ebp + 8]
mov eax, dword [esi]
mov ecx, dword [edi]
mov eax, dword [eax + 0x20]
cmp dword [ecx + 0x14c], eax
jbe 0x1003e786
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x98]
adc esi, 0
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 2
push 0x310b178
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003e6d5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003e6f6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003e6b0
cmp dword [esp + 0x150], 0
je 0x1003e879
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x160]
movsd xmm0, qword [esp + 0x154]
xor edi, 0x3a0
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x84], eax
mov eax, dword [0x3111000]
movaps xmmword [esp + 0x20], xmm0
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov esi, dword [esp + 0x60]
je 0x1003e9f2
lea ecx, [esp + 0x80]
call fcn.10053410
xor ebx, ebx
jmp 0x1003ea01
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0x60]
jmp 0x1003ea29
mov eax, dword [esp + 0xc0]
jmp 0x1003ea29
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x1003e0fb
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310b03c
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x41f68039
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c7b
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003e0fb
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003e0fb
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1003e0d5
jmp 0x1003e0fb
mov eax, dword [esp + 0x158]
mov esi, dword [esp + 0x60]
or eax, dword [esp + 0x15c]
je 0x1003e919
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310b1a0
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x6871a1e5
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push edi
push 0xffff1c7d
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003e919
mov ecx, dword [0x3111000]
push edx
push eax
push edi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0xc0]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x100418e0
mov edi, dword [ebp + 8]
mov dword [esp + 0x38], 0
jmp 0x1003ea40
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x1003e39b
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310b144
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x162d86a9
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c7c
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003e39b
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003e39b
mov eax, ebx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
movaps xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0xc0]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
movss dword [esp + 0x38], xmm0
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp + 4]
movaps xmmword [esp + 0x20], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003ea54
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x38]
movaps xmm0, xmmword [esp + 0x20]
dec dword [eax]
test ecx, ecx
je 0x1003ea9b
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x150], ecx
movlps qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], ebx
mov edx, 0x310db79
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
mov eax, dword [edi]
cmp word [eax + 0x122], 3
jne 0x1003ece3
mov edx, dword [eax + 0x12c]
cmp edx, 2
jb 0x10043665
mov ecx, dword [eax + 0x128]
mov edx, 0xfffff800
add edx, dword [ecx + 0x38]
cmp edx, 0x480
jae 0x1003ece3
mov esi, dword [ecx + 0x34]
cmp dword [eax + 0x14c], esi
jbe 0x1003ece3
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x80]
lea ecx, [esp + 0x150]
adc edi, 0
mov dword [esp + 0x80], eax
push 8
push 0x310b228
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003eb65
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003eb86
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003eb40
cmp dword [esp + 0x150], 0
je 0x1003ebe7
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1003ec85
lea ecx, [esp + 0x40]
call fcn.10053410
xor eax, eax
jmp 0x1003ec8e
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x1003ece3
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310b2c8
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6155e719
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c7e
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003ece3
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003ece3
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
je 0x1003ece3
xor edi, 0x3d2
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x150], ecx
mov edx, 0x310db81
mov dword [esp + 0x158], edi
movd dword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edi, dword [ecx + 0xcc]
test edi, edi
je 0x1003ee1e
mov eax, dword [ecx + 0xc]
add edi, dword [ecx + 8]
adc eax, 0
test byte [ecx + 0x127], 0x20
je 0x1003ee1e
mov ebx, dword [ebp + 0xc]
mov ecx, dword [0x3108340]
mov word [esp + 0x84], 0xc300
mov word [esp + 0x44], 0
mov dword [esp + 0x40], 0
lea esi, [esp + 0x40]
mov edx, dword [ebx]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x150]
push 5
push 6
push esi
push eax
push edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1001e960
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1003edb3
mov ecx, dword [esp + 0x154]
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x158], esi
mov edx, 0x310db89
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 3
call fcn.10046be0
add esp, 8
jmp 0x1003ee1e
mov ecx, dword [esp + 0x154]
cmp ecx, 7
jae 0x10046a9a
cmp ecx, 6
jne 0x1003ee1e
movzx ecx, word [esp + 0x44]
mov eax, dword [esp + 0x40]
xor cx, word [esp + 0x84]
xor eax, dword [esp + 0x80]
movzx ecx, cx
or ecx, eax
jne 0x1003ee1e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
movq xmm0, qword [ecx + 0x30]
movd eax, xmm0
test eax, eax
mov dword [esp + 0x38], eax
je 0x1003ee1e
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp eax, 0xc
jae 0x10041c89
mov ecx, 0x3108828
mov edx, 0x58
call fcn.1000c350
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003ee85
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003eea6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003ee60
cmp dword [esp + 0x150], 0
je 0x1003ef17
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x3e6
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003f05b
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003f064
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1003f0ac
cmp dword [esp + 8], 0xc
jne 0x1003f0ac
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 4
push 0x310b2e8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003efc5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003efe6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003efa0
cmp dword [esp + 0x150], 0
je 0x1003f69c
xor edi, 0x41a
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003f76f
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003f778
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 8]
movdqu xmm2, xmmword [esp]
movd eax, xmm2
test eax, eax
je 0x1003f0ac
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x150], xmm2
mov edx, 0x310db8c
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x1003f2d5
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x80]
adc esi, 0
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x150]
push 8
push 0x310b51c
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003f145
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003f166
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003f120
cmp dword [esp + 0x150], 0
je 0x1003f1d9
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1003f277
lea ecx, [esp + 0x40]
call fcn.10053410
xor eax, eax
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
jne 0x1003f28e
jmp 0x1003f2d5
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x1003f2d5
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310b5bc
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x777a59a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c85
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003f2d5
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003f2d5
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
je 0x1003f2d5
xor edi, 0x44e
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x150], ecx
mov edx, 0x310db94
mov dword [esp + 0x158], edi
movd dword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
mov esi, dword [ebp + 8]
mov ecx, 0xfffff000
mov edi, dword [ebp + 0xc]
mov eax, dword [esi]
and ecx, dword [eax + 0x2c]
cmp ecx, 0x12000
jne 0x1003f922
mov edx, esi
lea ecx, [esp + 0x150]
push edi
call fcn.1004cf00
add esp, 4
xor esi, esi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003f345
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1003f364
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1003f320
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1003f3e1
movsd xmm0, qword [esp + 0x154]
mov edi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ecx, 0x464
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], edi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1003f3f5
lea ecx, [esp + 0x98]
call fcn.10053410
xor ebx, ebx
jmp 0x1003f40b
mov eax, dword [esp + 0x158]
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x70], eax
jmp 0x1003f440
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], edi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x1003f437
movsd xmm0, qword [esp + 0x44]
jmp 0x1003f8ee
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x310b5c0
mov edx, 0x16
call 0x10057ee0
mov ecx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x150], 4
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x1003f539
imul ebx, ecx, 0x2c
mov edx, 4
xor esi, esi
xor ecx, ecx
add ebx, edi
jmp 0x1003f4ab
add edi, 0x2c
cmp edi, ebx
je 0x1003f542
cmp dword [edi], 0
je 0x1003f4a0
cmp dword [edi + 4], 0xa
jne 0x1003f4a0
cmp dword [edi + 0x10], 0
jne 0x1003f4a0
cmp eax, dword [edi + 0x14]
jne 0x1003f4a0
inc ecx
mov dword [esp + 0x60], eax
je 0x10046ab6
cmp ecx, dword [esp + 0x158]
jbe 0x1003f50a
mov esi, ecx
call fcn.10053440
mov edx, esi
cmp eax, esi
jbe 0x1003f4f6
lea ecx, [esp + 0x150]
mov edx, eax
call fcn.1001d460
mov edx, esi
cmp al, 8
je 0x1003f50a
lea ecx, [esp + 0x150]
call fcn.1001d460
cmp al, 8
jne 0x10046b47
mov edx, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x60]
mov dword [edx + ecx*4], edi
inc ecx
add edi, 0x2c
mov esi, ecx
mov dword [esp + 0x154], ecx
shr esi, 8
cmp edi, ebx
jne 0x1003f4ab
jmp 0x1003f542
mov edx, 4
xor esi, esi
xor ecx, ecx
mov ebx, dword [esp + 0x158]
mov eax, ecx
shl esi, 8
mov dword [esp + 0x38], edx
movzx edi, al
or edi, esi
mov dword [esp + 0x60], ebx
je 0x1003f68b
mov eax, dword [edx]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 0x20]
mov ecx, dword [esi]
cmp dword [ecx + 0x14c], eax
jbe 0x1003f693
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edi
lea ecx, [esp + 0x150]
adc esi, 0
push 2
push 0x310b5f8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003f5f5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003f616
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003f5d0
cmp dword [esp + 0x150], 0
je 0x1003f7a2
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x47f
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003f874
lea ecx, [esp + 0x80]
call fcn.10053410
xor ebx, ebx
jmp 0x1003f87f
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
jmp 0x1003f693
mov eax, dword [esp + 0x60]
jmp 0x1003f8aa
mov eax, dword [esp + 0x158]
pxor xmm2, xmm2
or eax, dword [esp + 0x15c]
je 0x1003f86c
mov esi, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x150]
push 1
push 0x310b438
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [esp + 0x70], esi
push esi
mov dword [esp + 0x84], eax
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003f735
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003f756
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003f710
cmp dword [esp + 0x150], 0
je 0x10041681
xor edi, 0x420
jmp 0x1003effa
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
movd xmm0, eax
movlps qword [esp], xmm1
mov dword [esp + 8], edi
mov edi, dword [ebp + 8]
movsd xmm2, qword [esp + 4]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x1003f07d
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x1003f83e
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310b620
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push edi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003f83e
mov ecx, dword [0x3111000]
push edx
push eax
push edi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0x60]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x100418fe
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x20], 0
jmp 0x1003f8c1
mov edi, dword [ebp + 8]
jmp 0x1003f07d
mov eax, ebx
mov ebx, dword [esp + 0x44]
mov dword [ebx], esi
mov dword [ebx + 4], eax
movaps xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x60]
mov esi, dword [ebp + 8]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
movss dword [esp + 0x20], xmm0
mov edi, dword [ebp + 0xc]
movsd xmm0, qword [esp + 4]
movaps xmmword [esp + 0xc0], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003f8d8
mov ecx, dword [0x3111000]
push edx
push eax
push dword [esp + 0x40]
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x20]
movaps xmm0, xmmword [esp + 0xc0]
dec dword [eax]
test ecx, ecx
je 0x1003f922
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x150], ecx
movlps qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], ebx
mov edx, 0x310db9c
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push edi
push esi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003f985
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003f9a6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003f960
cmp dword [esp + 0x150], 0
je 0x1003fa17
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x493
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003fb6b
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003fb74
movq xmm0, qword [esp + 0x158]
movq xmm1, qword [esp + 0x160]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1003fbc1
cmp dword [esp + 8], 0x7e3
jne 0x1003fbc1
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edi
lea ecx, [esp + 0x150]
push 5
push 0x310b648
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003fad5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003faf6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003fab0
cmp dword [esp + 0x150], 0
je 0x10040dcc
xor edi, 0x4a6
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004134d
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x10041356
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm2, xmmword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
movd eax, xmm2
test eax, eax
je 0x1003fbc1
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x150], xmm2
mov edx, 0x310dba4
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push edi
push esi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1003fc25
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1003fc46
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1003fc00
cmp dword [esp + 0x150], 0
je 0x1003fcb7
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x4cf
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1003fe0b
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1003fe14
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1003fe5b
cmp dword [esp + 8], 0x13418bf
jne 0x1003fe5b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 0xd
push 0x310b794
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003fd75
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1003fd96
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1003fd50
cmp dword [esp + 0x150], 0
je 0x10040e9f
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x502
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100413b0
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x100413b9
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1003fe5b
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310dbac
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor edi, edi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003feb5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1003fed6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1003fe90
cmp dword [esp + 0x150], 0
je 0x1003ff47
mov edi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor esi, 0x52e
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10040081
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1004008a
movsd xmm0, qword [esp + 0x158]
movq xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x100400cf
cmp dword [esp + 8], 0x7a
jne 0x100400cf
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], ecx
lea ecx, [esp + 0x150]
push 8
push 0x310b8bc
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor edi, edi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1003fff5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10040016
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1003ffd0
cmp dword [esp + 0x150], 0
je 0x10040f47
mov edi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor esi, 0x541
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x100413ef
lea ecx, [esp + 0x40]
call fcn.10053410
xor eax, eax
jmp 0x100413f8
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov ecx, dword [esp]
mov edi, dword [ebp + 8]
test ecx, ecx
je 0x100400cf
mov eax, dword [esp + 0x3c]
movaps xmm0, xmmword [esp]
mov edx, 0x310dbb4
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
movups xmmword [esp + 0x150], xmm0
push eax
push 8
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10040135
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10040156
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10040110
cmp dword [esp + 0x150], 0
je 0x100401c7
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x564
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10040311
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x1004031a
movq xmm0, qword [esp + 0x158]
movq xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10040363
cmp dword [esp + 8], 0x7e3
jne 0x10040363
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], ecx
lea ecx, [esp + 0x150]
push 4
push 0x310b978
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10040285
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x100402a6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10040260
cmp dword [esp + 0x150], 0
je 0x10041084
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x573
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10041417
lea ecx, [esp + 0x40]
call fcn.10053410
xor eax, eax
jmp 0x10041420
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov ebx, dword [esp]
mov edi, dword [ebp + 8]
test ebx, ebx
je 0x10040363
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp]
mov edx, 0x310dbbc
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
movdqu xmmword [esp + 0x150], xmm0
push eax
push 8
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100403c5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x100403e6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100403a0
cmp dword [esp + 0x150], 0
je 0x10040457
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x589
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100405ab
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x100405b4
movsd xmm0, qword [esp + 0x158]
movq xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100405fc
cmp dword [esp + 8], 0x13418bf
jne 0x100405fc
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 3
push 0x310b9e0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10040515
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10040536
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100404f0
cmp dword [esp + 0x150], 0
je 0x100411b1
xor edi, 0x5af
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004137d
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x10041386
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 8]
movdqu xmm2, xmmword [esp]
movd eax, xmm2
test eax, eax
je 0x100405fc
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x150], xmm2
mov edx, 0x310dbc4
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10040665
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10040686
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10040640
cmp dword [esp + 0x150], 0
je 0x100406f7
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x5d1
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004084b
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x10040854
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004089b
cmp dword [esp + 8], 0x134890d
jne 0x1004089b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 6
push 0x310bb48
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100407b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x100407d6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10040790
cmp dword [esp + 0x150], 0
je 0x1004127f
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x5ea
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10041447
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x10041450
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1004089b
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310dbcc
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor edi, edi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100408f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10040916
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100408d0
cmp dword [esp + 0x150], 0
je 0x10040987
mov edi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor esi, 0x5fe
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10040aef
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x10040af8
movq xmm0, qword [esp + 0x158]
movq xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10040b4b
cmp dword [esp + 8], 0x7e3
jne 0x10040b4b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
add eax, 0x1000
mov edx, ecx
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0x150]
adc edx, 0
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
mov edx, edi
push dword [ebp + 0xc]
call fcn.1004b120
add esp, 4
xor edi, edi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10040a45
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10040a64
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10040a20
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10041327
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ecx, 0x605
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x10041486
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x1004149c
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov esi, dword [esp]
movdqa xmmword [esp + 0x40], xmm0
mov edi, dword [ebp + 8]
test esi, esi
je 0x10040b4b
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp + 0x40]
mov edx, 0x310dbd4
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
movdqu xmmword [esp + 0x150], xmm0
push eax
push 8
call fcn.10046be0
add esp, 8
lea ecx, [esp + 0x150]
mov edx, edi
push dword [ebp + 0xc]
call fcn.1004b120
add esp, 4
xor ecx, ecx
lea edx, [0x310a839]
lea edi, [0x310a83a]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10040ba5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10040bc4
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10040b80
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10040c3d
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ebx, 0x668
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10040c5f
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x10040c75
mov eax, dword [esp + 0x154]
mov ebx, dword [esp + 0x158]
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x10040ce4
jmp 0x100424db
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd edi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test edi, edi
je 0x10040ccc
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x150], edi
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x310dbdc
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
push eax
push 8
call fcn.10046be0
add esp, 8
jmp 0x100424dd
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x100424db
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], edx
jmp 0x10040d0c
mov dword [esp + 0x70], esi
sub esi, ecx
jbe 0x100424db
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ecx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x9a89af34
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x10040d00
movzx ecx, dl
cmp ecx, 0xff
jne 0x10040d4e
inc esi
mov ecx, esi
mov esi, dword [esp + 0x70]
sub esi, ecx
ja 0x10040d0c
jmp 0x100424db
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x100424db
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], edx
mov eax, dword [ecx + eax]
xor ecx, ecx
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
jmp 0x10040d8c
mov dword [esp + 0x38], edx
sub edx, ecx
jbe 0x100424db
shr edx, 1
xor eax, eax
add edx, ecx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], 0x4c31fa8c
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x10040d80
movzx eax, al
cmp eax, 0xff
jne 0x1004154c
inc edx
mov ecx, edx
mov edx, dword [esp + 0x38]
sub edx, ecx
ja 0x10040d8c
jmp 0x100424db
mov eax, dword [esp + 0x158]
pxor xmm2, xmm2
or eax, dword [esp + 0x15c]
je 0x1003fb8c
mov eax, dword [esp + 0x160]
mov esi, dword [esp + 0x164]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x150]
mov dword [esp + 0x70], eax
add eax, 8
mov dword [esp + 0x60], esi
adc esi, 0
push 1
push 0x310b6ac
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10040e65
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10040e86
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10040e40
cmp dword [esp + 0x150], 0
je 0x1004173d
xor edi, 0x4ae
jmp 0x1003fb0a
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x1003fe5b
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310b898
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1003fe5b
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1003fe5b
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x100415ac
mov eax, dword [esp + 0xb8]
mov byte [esp + 0xd6], 0
mov word [esp + 0xd4], 0
mov edi, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 1
mov dword [esp + 0x64], edi
push edi
mov dword [esp + 0x28], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020130
add esp, 0x14
xor edi, edi
lea edx, [0x310a839]
lea ebx, [0x310a83a]
mov eax, 0xfffffff9
xor esi, esi
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10040fe5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10041004
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10040fc0
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10041803
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
mov edi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004190f
lea ecx, [esp + 0x80]
call fcn.10053410
mov dword [esp + 0x38], 0
jmp 0x10041926
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x100415ba
mov eax, dword [esp + 0xb8]
mov edi, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 1
mov dword [esp + 0x74], edi
push edi
mov dword [esp + 0x28], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020130
add esp, 0x14
xor edi, edi
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10041115
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10041134
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x100410f0
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10041814
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
mov ebx, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x100419bb
lea ecx, [esp + 0x80]
call fcn.10053410
xor edx, edx
jmp 0x100419ce
mov eax, dword [esp + 0x158]
pxor xmm2, xmm2
or eax, dword [esp + 0x15c]
je 0x100415d3
mov esi, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x150]
push 5
push 0x310ba48
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [esp + 0x70], esi
push esi
mov dword [esp + 0x84], eax
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10041245
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10041266
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10041220
cmp dword [esp + 0x150], 0
je 0x10041824
xor edi, 0x5b5
jmp 0x1004054a
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x15c]
je 0x1004089b
lea edx, [esp + 0x150]
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
push 4
push 0x310bbc0
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x1004089b
mov ecx, dword [0x3111000]
push edx
push eax
push esi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004089b
mov ecx, dword [esp + 0x158]
mov eax, dword [esp + 0x154]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x100414e8
jmp 0x10046871
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
movd xmm0, eax
movlps qword [esp], xmm1
mov dword [esp + 8], edi
movsd xmm2, qword [esp + 4]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x1003fb8c
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
movd xmm0, eax
movlps qword [esp], xmm1
mov dword [esp + 8], edi
mov edi, dword [ebp + 8]
movsd xmm2, qword [esp + 4]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x100405cd
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1003fe35
jmp 0x1003fe5b
mov eax, dword [esp + 4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd ecx, xmm0
jmp 0x100400a1
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movd ebx, xmm0
mov edi, dword [ebp + 8]
test ebx, ebx
jne 0x10040337
jmp 0x10040363
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10040875
jmp 0x1004089b
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edx, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x100414d0
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x40], ecx
movq qword [esp + 0x44], xmm0
mov dword [esp + 0x4c], eax
jmp 0x10040b1e
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x10046871
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor esi, esi
mov ecx, edx
mov dword [esp + 0x20], eax
jmp 0x1004150a
mov edx, ecx
sub ecx, esi
jbe 0x10046871
shr ecx, 1
mov edi, dword [esp + 0x20]
xor eax, eax
add ecx, esi
mov ebx, ecx
shl ebx, 4
cmp dword [edi + ebx + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x10041500
movzx eax, al
cmp eax, 0xff
jne 0x100415db
inc ecx
mov esi, ecx
mov ecx, edx
sub ecx, esi
ja 0x1004150a
jmp 0x10046871
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov esi, eax
mov dword [esp + 0x70], eax
jmp 0x10041566
mov dword [esp + 0x70], esi
sub esi, ecx
jbe 0x10041baf
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ecx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x9a89af34
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1004155a
movzx ecx, dl
cmp ecx, 0xff
jne 0x10041b49
inc esi
mov ecx, esi
mov esi, dword [esp + 0x70]
sub esi, ecx
ja 0x10041566
jmp 0x10041baf
xor ecx, ecx
mov dword [esp], 0
jmp 0x1004009e
xor ebx, ebx
mov dword [esp], 0
mov edi, dword [ebp + 8]
test ebx, ebx
jne 0x10040337
jmp 0x10040363
mov edi, dword [ebp + 8]
jmp 0x100405cd
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x10046871
mov ecx, dword [esp + 0x20]
xor edx, edx
mov esi, eax
mov ecx, dword [ecx + ebx]
jmp 0x10041602
mov esi, eax
sub eax, edx
jbe 0x10046871
shr eax, 1
xor ebx, ebx
add eax, edx
mov edi, eax
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x7ca4fdf
mov edi, 0xff
setne bl
cmovb ebx, edi
cmp bl, 1
je 0x100415f8
movzx edx, bl
cmp edx, 0xff
jne 0x10041d68
inc eax
mov edx, eax
mov eax, esi
sub eax, edx
ja 0x10041602
jmp 0x10046871
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1003e375
jmp 0x1003e39b
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
pxor xmm2, xmm2
or eax, dword [esp + 0x15c]
je 0x1003f07d
lea ecx, [esp + 0x150]
lea edx, [esp + 0x98]
push 3
push 0x310b48c
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x70]
push dword [esp + 0x84]
call fcn.10023730
add esp, 0x18
mov ecx, 0x310a838
mov edx, 0x428
call fcn.1000c350
cmp dword [esp + 0x150], 0
je 0x1004215b
movsd xmm0, qword [esp + 0x154]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
movsd qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
lea ecx, [esp + 4]
lea edx, [esp + 0x40]
push eax
call fcn.10051570
add esp, 4
movsd xmm0, qword [esp + 8]
movss xmm2, dword [esp + 4]
movss xmm1, dword [esp + 0x10]
unpcklps xmm2, xmm0
shufps xmm1, xmm0, 0xd4
shufps xmm2, xmm1, 0x24
jmp 0x1003f07d
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x10041d59
mov eax, dword [esp + 0x160]
mov esi, dword [esp + 0x164]
lea ecx, [esp + 0x150]
lea edx, [esp + 0x98]
add eax, 8
adc esi, 0
push 1
push 0x310b6ac
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
mov ecx, 0x310a838
mov edx, 0x4b5
call fcn.1000c350
cmp dword [esp + 0x150], 0
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
je 0x100421d9
movsd xmm0, qword [esp + 0x154]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
movsd qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
lea ecx, [esp + 4]
lea edx, [esp + 0x40]
push eax
call fcn.10051570
add esp, 4
movsd xmm0, qword [esp + 8]
movss xmm2, dword [esp + 4]
movss xmm1, dword [esp + 0x10]
unpcklps xmm2, xmm0
shufps xmm1, xmm0, 0xd4
shufps xmm2, xmm1, 0x24
jmp 0x1003fb92
movzx eax, byte [esp + 0x154]
mov dword [esp + 0x70], eax
jmp 0x10041955
movzx ecx, byte [esp + 0x154]
mov edi, dword [ebp + 8]
jmp 0x10041a09
mov eax, dword [esp + 0x158]
mov edi, dword [ebp + 8]
pxor xmm2, xmm2
or eax, dword [esp + 0x15c]
je 0x100405cd
lea ecx, [esp + 0x150]
lea edx, [esp + 0x98]
push 2
push 0x310baf0
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x70]
push dword [esp + 0x84]
call fcn.10023730
add esp, 0x18
mov ecx, 0x310a838
mov edx, 0x5bd
call fcn.1000c350
cmp dword [esp + 0x150], 0
je 0x10042282
movsd xmm0, qword [esp + 0x154]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
movsd qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
lea ecx, [esp + 4]
lea edx, [esp + 0x40]
push eax
call fcn.10051570
add esp, 4
movsd xmm0, qword [esp + 8]
movss xmm2, dword [esp + 4]
movss xmm1, dword [esp + 0x10]
unpcklps xmm2, xmm0
shufps xmm1, xmm0, 0xd4
shufps xmm2, xmm1, 0x24
jmp 0x100405cd
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 8]
dec dword [eax]
mov eax, dword [edi]
cmp word [eax + 0x122], 3
je 0x1003eaab
jmp 0x1003ece3
mov eax, dword [esp + 0x70]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
dec dword [eax]
jmp 0x1003f922
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0x38], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0x70], eax
je 0x10041955
xor edi, 0x513
shr eax, 8
mov dword [esp + 0x60], ecx
mov dword [esp + 0xc0], edi
mov dword [esp + 0xac], eax
jmp 0x10041f19
mov eax, dword [esp + 0xb8]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x60]
lea esi, [esp + 0xd4]
lea ecx, [esp + 0x150]
mov edx, dword [eax]
add edi, 1
adc ebx, 0
push 1
push 3
push esi
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001e960
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10041a9e
movq xmm0, qword [esp + 0x154]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], ecx
jmp 0x10041e3d
movdqa xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
mov eax, ebx
mov ebx, dword [esp]
mov ecx, dword [esp + 4]
test ebx, ebx
je 0x10041a09
mov esi, ecx
mov dword [esp + 0x60], edx
xor eax, 0x553
mov dword [esp + 0x20], ecx
mov ecx, 0x310a838
mov edx, 0x577
mov dword [esp + 0x70], eax
shr esi, 8
call fcn.1000c350
mov ecx, dword [esp + 0x20]
jmp 0x100428f1
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x70]
test cl, cl
js 0x10041ac1
xor esi, esi
mov ecx, 0x310a838
mov edx, 0x577
call fcn.1000c350
mov eax, esi
test al, al
je 0x10040363
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310b9c8
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6915bb2a
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c8a
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
jmp 0x10040363
cmp dword [esp + 0x154], 3
jne 0x10041dbe
mov dword [esp + 0x60], 0
mov dword [esp + 0x38], 0
jmp 0x10041e3d
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x557
call fcn.1000c350
cmp dword [esp + 0x150], 0
je 0x10042819
movq xmm0, qword [esp + 0x154]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
lea ecx, [esp + 4]
lea edx, [esp + 0x40]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 8]
jmp 0x100428cd
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10041baf
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], edx
mov eax, dword [ecx + eax]
xor ecx, ecx
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
jmp 0x10041b74
mov dword [esp + 0x38], edx
sub edx, ecx
jbe 0x10041baf
shr edx, 1
xor eax, eax
add edx, ecx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], 0xd5255547
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x10041b6c
movzx eax, al
cmp eax, 0xff
jne 0x10042300
inc edx
mov ecx, edx
mov edx, dword [esp + 0x38]
sub edx, ecx
ja 0x10041b74
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov dword [esp + 0x70], eax
jmp 0x10041bcb
mov dword [esp + 0x70], eax
sub eax, ecx
mov dword [esp + 0x60], eax
jbe 0x100424db
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
xor edx, edx
shr eax, 1
add eax, ecx
mov esi, eax
shl esi, 4
cmp dword [edi + esi + 0xc], 0x9a89af34
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x10041bbb
movzx ecx, dl
cmp ecx, 0xff
jne 0x10041c15
inc eax
mov ecx, eax
mov eax, dword [esp + 0x70]
sub eax, ecx
mov dword [esp + 0x60], eax
ja 0x10041bcb
jmp 0x100424db
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + esi + 4]
test ecx, ecx
je 0x100424db
mov edx, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x70], ecx
mov eax, dword [edx + esi]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x20]
jmp 0x10041c48
mov dword [esp + 0x70], ecx
sub ecx, edi
jbe 0x100424db
shr ecx, 1
xor edx, edx
add ecx, edi
mov eax, ecx
shl eax, 4
cmp dword [esi + eax + 0xc], 0x8f980a9b
mov eax, 0xff
setne dl
cmovb edx, eax
cmp dl, 1
je 0x10041c3c
movzx eax, dl
cmp eax, 0xff
jne 0x10042300
inc ecx
mov edi, ecx
mov ecx, dword [esp + 0x70]
sub ecx, edi
ja 0x10041c48
jmp 0x100424db
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
xor esi, esi
mov dword [esp + 0xc0], edx
sub edi, edx
mov edx, 0xaaaaaaab
mov dword [esp + 0xac], ecx
mul edx
shr edx, 3
dec edx
jmp 0x10041cbb
mov edx, dword [esp + 0x70]
inc esi
cmp esi, edx
jg 0x1003ee0f
lea eax, [edx + esi]
mov dword [esp + 0x60], esi
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x70], edx
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
lea eax, [esi + esi*2]
lea eax, [ecx + eax*4]
mov ecx, esp
add eax, dword [esp + 0xc0]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
adc ebx, 0
mov edx, dword [eax]
push 1
mov dword [esp + 0xb4], ebx
push ebx
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001fa10
add esp, 0x14
mov ebx, dword [esp]
mov ecx, dword [esp + 4]
test ebx, ebx
jne 0x10043401
xor eax, eax
cmp ecx, edi
mov ecx, 0xff
setne al
cmova eax, ecx
cmp al, 1
je 0x10041cae
movzx eax, al
cmp eax, 0xff
jne 0x10043232
dec esi
mov edx, esi
mov esi, dword [esp + 0x60]
cmp esi, edx
jle 0x10041cbb
jmp 0x1003ee0f
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
pxor xmm2, xmm2
jmp 0x1003fb92
mov edx, dword [esp + 0x60]
xor esi, esi
mov ecx, edx
jmp 0x10041d7c
mov edx, ecx
sub ecx, esi
jbe 0x10046871
shr ecx, 1
mov edi, dword [esp + 0x20]
xor eax, eax
add ecx, esi
mov ebx, ecx
shl ebx, 4
cmp dword [edi + ebx + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x10041d72
movzx eax, al
cmp eax, 0xff
jne 0x10042fd3
inc ecx
mov esi, ecx
mov ecx, edx
sub ecx, esi
ja 0x10041d7c
jmp 0x10046871
xor ecx, ecx
lea edx, [0x310c469]
lea edi, [0x310c46a]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10041df8
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10046891
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10041e17
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10041dd3
movdqa xmm0, xmmword [0x3108320]
xor ebx, 0x91
mov dword [esp + 0x38], 0
mov dword [esp + 0x60], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor ebx, ebx
lea eax, [0x310a839]
lea edi, [0x310a83a]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [eax]
mov eax, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10041e85
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [eax + 1]
test edx, edx
cmove edi, eax
je 0x10041ea6
shld dword [esp + 0x20], ebx, 4
inc edx
test eax, eax
mov ebx, esi
jne 0x10041e60
mov eax, dword [esp + 0x60]
test eax, eax
je 0x10041ff7
mov ecx, dword [esp + 0x38]
xor esi, 0x517
mov dword [esp + 0x150], eax
movq qword [esp + 0x154], xmm0
lea edx, [esp + 0x150]
mov dword [esp + 0x15c], ecx
mov ecx, esp
push esi
call fcn.10051570
add esp, 4
mov eax, dword [esp]
test eax, eax
je 0x10041ff7
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov dword [esp + 0x60], eax
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], edx
shr edx, 8
mov dword [esp + 0xac], edx
mov dword [esp + 0x38], ecx
xor esi, esi
lea edx, [0x310a839]
lea eax, [0x310a83a]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, eax
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x10041f61
or bl, 0x20
mov eax, ebx
add al, 0x9f
cmp al, 6
jae 0x10046891
add bl, 0xa9
mov eax, ebx
mov edi, esi
movzx ebx, al
lea eax, [edx + 1]
shl edi, 4
or ebx, edi
test ecx, ecx
cmove eax, edx
je 0x10041f82
shld dword [esp + 0x20], esi, 4
inc ecx
test edx, edx
mov esi, ebx
jne 0x10041f40
mov ecx, dword [esp + 0xac]
movzx eax, byte [esp + 0x70]
movd xmm1, dword [esp + 0x60]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x38]
xor ebx, 0x545
shl ecx, 8
mov dword [esp], esi
mov dword [esp + 4], edi
or eax, ecx
movd xmm0, eax
mov eax, dword [0x3111000]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x15c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x150], 0
je 0x10042108
mov ecx, esp
call fcn.10053410
xor eax, eax
jmp 0x10042114
mov edx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
add dl, dl
xor dl, 0xd0
movzx eax, dl
add dl, 0xd1
lea ecx, [eax*4]
lea eax, [eax + eax*2]
lea ebx, [ecx + ecx*2]
add al, 0x44
add bl, 0xe1
nop dword [eax + eax]
mov ecx, edx
add al, 0x8d
add bl, 0x34
add dl, 0x2f
add cl, 0xb0
cmp cl, 0xa0
ja 0x10042020
xor dl, byte [esp + 0xd4]
cmp dl, 0x74
jne 0x100420f4
mov ecx, eax
add bl, 0xbc
add al, 0x2f
add cl, 0xb0
cmp cl, 0xa0
ja 0x10042042
xor al, byte [esp + 0xd5]
cmp al, 0x74
jne 0x100420f4
mov eax, ebx
add bl, 0x2f
add al, 0xb0
cmp al, 0xa1
jae 0x10042060
xor bl, byte [esp + 0xd6]
mov ecx, 0x310a838
mov edx, 0x545
call fcn.1000c350
cmp bl, 0x70
jne 0x100400cf
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310b95c
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xf565af26
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c89
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
jmp 0x100400cf
mov ecx, 0x310a838
mov edx, 0x545
call fcn.1000c350
jmp 0x100400cf
mov eax, dword [esp + 0x154]
mov dword [eax], esi
mov dword [eax + 4], edi
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp + 0x98], xmm0
movzx ecx, word [esp + 0x9d]
mov word [esp + 5], cx
movzx ecx, byte [esp + 0x9f]
mov byte [esp + 7], cl
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x70]
mov dword [esp], ecx
mov byte [esp + 4], al
jmp 0x100400a1
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x1003f0ac
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310b4c8
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xa424d249
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c84
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
jmp 0x1003f0ac
mov eax, dword [esp + 0x158]
pxor xmm2, xmm2
or eax, dword [esp + 0x15c]
je 0x1003fb92
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
mov ecx, esp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
push 1
push dword [esp + 0x64]
push dword [esp + 0x78]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001fdc0
add esp, 0x14
mov ecx, 0x310a838
mov edx, 0x4bb
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x1004330a
mov edx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
jmp 0x10043322
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x100405fc
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310bb18
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
jmp 0x100405fc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x310ab88
call fcn.10008d70
add esp, 8
test ax, ax
je 0x100424db
mov eax, dword [ebp + 8]
mov ecx, edx
movzx ecx, cx
mov eax, dword [eax]
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x1004695c
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov esi, 0xfffa8000
add esi, dword [edx + ecx*8 + 0x10]
cmp esi, 0x10000
jae 0x100424db
mov ecx, dword [edx + ecx*8 + 0xc]
mov esi, dword [eax + 8]
mov edx, dword [eax + 0xc]
add esi, ecx
adc edx, 0
cmp dword [eax + 0x14c], ecx
mov dword [esp + 0xac], esi
mov dword [esp + 0xc0], edx
jbe 0x100424db
xor eax, eax
xor esi, esi
mov edi, dword [ebp + 0xc]
cmp eax, 8
mov ecx, esi
sbb ecx, 0
jae 0x100424d7
dec dword [ebx]
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x150]
push edi
call fcn.1004b120
add esp, 4
xor edi, edi
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
xor ebx, ebx
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10042535
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10042554
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10042510
mov eax, dword [esp + 0x150]
test eax, eax
je 0x100425d1
movsd xmm0, qword [esp + 0x154]
mov esi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
xor ecx, 0x694
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x100425f7
lea ecx, [esp + 0x98]
call fcn.10053410
xor eax, eax
jmp 0x1004260d
mov ecx, dword [esp + 0x158]
mov eax, dword [esp + 0x154]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x1004268b
jmp 0x100436ee
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10042673
mov edx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
add edx, 0x10
mov dword [esp + 0x70], edx
mov dword [esp + 0x150], ecx
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x70]
mov edx, 0x310dbe4
mov ecx, dword [eax]
lea eax, [esp + 0x150]
push eax
call fcn.10023460
add esp, 4
jmp 0x10043702
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x100436ee
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
xor eax, eax
mov esi, ebx
jmp 0x100426aa
mov ebx, esi
sub esi, eax
jbe 0x100436ee
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, eax
mov ecx, esi
shl ecx, 4
cmp dword [edi + ecx + 0xc], 0xf17c9523
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x100426a0
movzx eax, dl
cmp eax, 0xff
jne 0x100426e9
inc esi
mov eax, esi
mov esi, ebx
sub esi, eax
ja 0x100426aa
jmp 0x100436ee
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ecx + 4]
test edx, edx
je 0x100436ee
mov eax, dword [esp + 0x20]
mov esi, edx
mov ebx, dword [eax + ecx]
xor eax, eax
jmp 0x1004271a
mov esi, edx
sub edx, eax
jbe 0x100436ee
shr edx, 1
xor ecx, ecx
add edx, eax
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0xf8a3eca5
mov edi, 0xff
setne cl
cmovb ecx, edi
cmp cl, 1
je 0x10042710
movzx eax, cl
cmp eax, 0xff
jne 0x10042755
inc edx
mov eax, edx
mov edx, esi
sub edx, eax
ja 0x1004271a
jmp 0x100436ee
mov esi, dword [esp + 0x60]
xor eax, eax
jmp 0x1004276b
mov esi, ebx
sub ebx, eax
mov dword [esp + 0x60], ebx
jbe 0x100436ee
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
xor ecx, ecx
shr ebx, 1
add ebx, eax
mov edx, ebx
shl edx, 4
cmp dword [edi + edx + 0xc], 0x9a89af34
mov edi, 0xff
setne cl
cmovb ecx, edi
cmp cl, 1
je 0x1004275d
movzx eax, cl
cmp eax, 0xff
jne 0x100427b2
inc ebx
mov eax, ebx
mov ebx, esi
sub ebx, eax
mov dword [esp + 0x60], ebx
ja 0x1004276b
jmp 0x100436ee
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + edx + 4]
test ecx, ecx
je 0x100436ee
mov eax, dword [esp + 0x20]
xor ebx, ebx
mov esi, ecx
mov eax, dword [eax + edx]
jmp 0x100427d9
mov esi, ecx
sub ecx, ebx
jbe 0x100436ee
shr ecx, 1
xor edx, edx
add ecx, ebx
mov edi, ecx
shl edi, 4
cmp dword [eax + edi + 0xc], 0x8f980a9b
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x100427cf
movzx edx, dl
cmp edx, 0xff
jne 0x10042e6e
inc ecx
mov ebx, ecx
mov ecx, esi
sub ecx, ebx
ja 0x100427d9
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
add esi, 0x10
lea ecx, [esp + 0x150]
adc ebx, 0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xb8]
mov edx, dword [eax]
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x558
call fcn.1000c350
cmp dword [esp + 0x150], 0
je 0x100431da
movq xmm0, qword [esp + 0x154]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
lea ecx, [esp + 4]
lea edx, [esp + 0x40]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 8]
mov edi, dword [ebp + 8]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], ecx
mov ecx, 0x310a838
mov edx, 0x577
call fcn.1000c350
test ebx, ebx
je 0x10041a2a
mov ecx, esi
shr esi, 8
mov dword [esp + 0x38], eax
shl esi, 8
movzx eax, cl
movd xmm1, ebx
mov dword [esp + 0x20], ecx
or eax, esi
mov esi, dword [esp + 0x60]
movd xmm0, eax
mov eax, dword [esp + 0x70]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0xc0], xmm1
mov dword [esp], eax
mov eax, dword [0x3111000]
mov dword [esp + 4], esi
push 4
push 8
push 0x310fe14
lea ecx, [esp + 0x15c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x150], 0
je 0x10042956
mov ecx, esp
call fcn.10053410
xor eax, eax
jmp 0x10042966
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov dword [eax + 4], esi
movdqa xmm0, xmmword [esp + 0xc0]
mov edx, dword [esp + 0x38]
movq qword [esp + 0x98], xmm0
movzx ecx, word [esp + 0x9d]
mov word [esp + 5], cx
movzx ecx, byte [esp + 0x9f]
mov byte [esp + 7], cl
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp], ebx
mov byte [esp + 4], al
test ebx, ebx
jne 0x10040337
jmp 0x10040363
mov dword [esp], 0
xor eax, eax
jmp 0x10039681
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x38]
add ecx, 0xffffffff
adc edx, 0xffffffff
adc eax, 0xffffffff
cmp ecx, 0xffffffff
sbb edx, 0
sbb eax, 0
mov eax, dword [esp + 0x60]
jae 0x1003aae2
mov edi, dword [ebp + 0xc]
add eax, 0x50
mov esi, ebx
lea ecx, [esp + 0x150]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x9b
call fcn.1000c350
cmp dword [esp + 0x150], 0
jne 0x1003a9b2
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov esi, 0xffffffff
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, ebx
mov ebx, 0xfffffffe
xor edi, edi
cmp ebx, eax
mov eax, 0
mov ebx, dword [esp + 0x60]
sbb eax, ecx
sbb edi, edx
mov edi, dword [ebp + 8]
jb 0x1003aae2
mov eax, ebx
mov ebx, dword [ebp + 0xc]
lea ecx, [esp + 0x150]
add eax, 0x90
adc esi, 0
mov edx, dword [ebx]
push esi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x9b
call fcn.1000c350
cmp dword [esp + 0x150], 0
jne 0x1003a9b2
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov esi, 0xffffffff
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov eax, 0
sbb eax, ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
sbb edi, edx
mov edi, dword [ebp + 8]
jb 0x1003aae2
mov ebx, dword [ebp + 0xc]
mov edi, ecx
add eax, 0xd0
lea ecx, [esp + 0x150]
adc edi, 0
mov edx, dword [ebx]
push edi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x9b
call fcn.1000c350
cmp dword [esp + 0x150], 0
jne 0x1003a9b2
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov eax, 0
sbb eax, ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
sbb edi, edx
mov edi, dword [ebp + 8]
jb 0x1003aae2
mov ebx, dword [ebp + 0xc]
mov edi, ecx
add eax, 0x110
lea ecx, [esp + 0x150]
adc edi, 0
mov edx, dword [ebx]
push edi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x9b
call fcn.1000c350
cmp dword [esp + 0x150], 0
jne 0x1003a9b2
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov eax, 0
sbb eax, ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
sbb edi, edx
mov edi, dword [ebp + 8]
jb 0x1003aae2
mov ebx, dword [ebp + 0xc]
mov edi, ecx
add eax, 0x150
lea ecx, [esp + 0x150]
adc edi, 0
mov edx, dword [ebx]
push edi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x9b
call fcn.1000c350
cmp dword [esp + 0x150], 0
jne 0x1003a9b2
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov eax, 0
sbb eax, ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
sbb edi, edx
mov edi, dword [ebp + 8]
jb 0x1003aae2
mov ebx, dword [ebp + 0xc]
mov edi, ecx
add eax, 0x190
lea ecx, [esp + 0x150]
adc edi, 0
mov edx, dword [ebx]
push edi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x9b
call fcn.1000c350
cmp dword [esp + 0x150], 0
jne 0x1003a9b2
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov esi, 0
mov ebx, dword [esp + 0x38]
sbb esi, ecx
mov esi, dword [esp + 0x60]
sbb edi, edx
mov edi, dword [ebp + 8]
jb 0x1003aae2
mov eax, dword [ebp + 0xc]
add esi, 0x1d0
lea ecx, [esp + 0x150]
adc ebx, 0
mov edx, dword [eax]
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001f160
add esp, 0x10
mov ecx, 0x310a838
mov edx, 0x9b
call fcn.1000c350
cmp dword [esp + 0x150], 0
jne 0x1003a9b2
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov edx, 0xffffffff
add eax, edx
adc ecx, edx
adc edx, dword [esp + 0x164]
cmp eax, 0xffffffff
sbb ecx, 0
sbb edx, 0
jb 0x1003aa7d
jmp 0x1003aae2
mov ecx, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x10046a81
mov eax, dword [esp + 8]
mov edx, dword [esi + 0x18]
add ebx, 0xfffffff0
mov ecx, esp
adc edi, 0xffffffff
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
push 0x10
lea eax, [esp + 0x84]
push eax
push edi
push ebx
push dword [esp + 0x30]
mov edi, esi
push dword [esi + 0x1c]
call fcn.10020380
add esp, 0x18
mov ecx, 0x310a838
mov edx, 0x1a8
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x1004303a
mov edx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1004303a
movd xmm1, dword [esp + 0x44]
movq xmm0, qword [esp + 0x48]
movd xmm2, eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x70]
mov esi, edi
punpckldq xmm2, xmm1
punpcklqdq xmm2, xmm0
movdqa xmmword [esp + 0x20], xmm2
push edi
call fcn.10022fa0
add esp, 4
mov ecx, edi
call fcn.10053f30
movdqa xmm2, xmmword [esp + 0x20]
jmp 0x1003be3c
movzx eax, byte [esp + 4]
jmp 0x10043298
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 6
push 0x310d9f9
call fcn.10008d70
add esp, 8
test ax, ax
je 0x100436ee
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x10046871
mov ecx, dword [esp + 0x20]
xor edx, edx
mov esi, eax
mov ecx, dword [ecx + ebx]
jmp 0x10042ffa
mov esi, eax
sub eax, edx
jbe 0x10046871
shr eax, 1
xor ebx, ebx
add eax, edx
mov edi, eax
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xe9b7ea0f
mov edi, 0xff
setne bl
cmovb ebx, edi
cmp bl, 1
je 0x10042ff0
movzx edx, bl
cmp edx, 0xff
jne 0x10043490
inc eax
mov edx, eax
mov eax, esi
sub eax, edx
ja 0x10042ffa
jmp 0x10046871
movzx eax, byte [esp + 0x80]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x81]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x82]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x83]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x84]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x85]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x86]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x87]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x88]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x89]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x8a]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x8b]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x8c]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x8d]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x8e]
add al, 0xbf
cmp al, 0x19
ja 0x100431b7
movzx eax, byte [esp + 0x8f]
add al, 0xbf
cmp al, 0x1a
jae 0x100431b7
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310ab18
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp]
mov edx, 0x38d5dc59
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push ebx
push 0xffff1c76
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, ebx
call fcn.1001e8c0
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x70]
mov esi, edi
push edi
call fcn.10022fa0
add esp, 4
mov ecx, edi
call fcn.10053f30
pxor xmm2, xmm2
jmp 0x1003be3c
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
xor edi, dword [esp + 0x160]
xor ecx, dword [esp + 0x15c]
xor eax, dword [esp + 0x164]
or eax, ecx
mov ecx, dword [esp + 0x70]
xor ecx, dword [esp + 0x158]
or edi, ecx
or edi, eax
setne al
test edi, 0xc0c0c0c0
mov edi, dword [ebp + 8]
sete cl
and cl, al
mov esi, ecx
jmp 0x10041a1b
mov dword [esp + 0x20], eax
mov eax, ecx
xor edi, 0x1c
mov dword [esp + 0x60], edx
jmp 0x100435b3
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xb0]
mov edx, dword [ecx]
mov ecx, esp
add eax, 4
mov esi, ebx
adc esi, 0
push 1
push esi
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001fa10
add esp, 0x14
mov ecx, dword [esp]
test ecx, ecx
je 0x100433c7
mov eax, ecx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ebx, eax
jmp 0x10043409
mov dword [esp + 0x20], eax
mov eax, ecx
mov dword [esp + 0x60], edx
xor edi, 0x1e
jmp 0x100435b3
movzx eax, byte [esp + 0x44]
test al, al
je 0x100396b1
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310e064
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x25f65687
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
jmp 0x100396b1
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x40], 0
movq xmm2, qword [esp + 0x40]
movd eax, xmm2
test eax, eax
je 0x1004333d
movd xmm0, edi
movd xmm1, ebx
jmp 0x10043514
mov eax, dword [esp + 0x98]
mov ecx, esp
mov edx, dword [eax]
push 1
push dword [esp + 0x24]
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001fdc0
add esp, 0x14
mov ecx, 0x310a838
mov edx, 0x4bb
call fcn.1000c350
mov ecx, dword [esp]
test ecx, ecx
je 0x100434e6
mov edx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x40]
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], edx
lea edx, [esp + 0x150]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
jmp 0x100434fe
mov dword [esp + 0x20], eax
mov eax, ecx
xor edi, 0x21
jmp 0x100435b3
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xc]
add esi, 8
adc ebx, 0
mov edx, dword [eax]
push 1
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1001fa10
add esp, 0x14
mov ebx, dword [esp]
test ebx, ebx
je 0x10045977
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov edi, dword [esp + 0xc]
cmp ebx, 0xc76970a8
jne 0x1004342d
cmp ecx, 0x76d4030
jne 0x1004342d
test edi, edi
je 0x1003ee0f
mov ecx, edi
call fcn.10053620
jmp 0x1003ee0f
mov esi, ecx
mov dword [esp + 0x20], edx
mov ecx, 0x3108828
mov edx, 0x58
call fcn.1000c350
mov ecx, dword [esp + 0x20]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov edx, esp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
lea ecx, [esp + 0x154]
push eax
call fcn.10051570
add esp, 4
mov eax, dword [esp + 0x154]
test eax, eax
je 0x1003ee1e
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x160]
mov esi, dword [esp + 0x15c]
jmp 0x1003ed77
mov edx, dword [esp + 0x60]
xor esi, esi
mov ecx, edx
jmp 0x100434a4
mov edx, ecx
sub ecx, esi
jbe 0x10046871
shr ecx, 1
mov edi, dword [esp + 0x20]
xor eax, eax
add ecx, esi
mov ebx, ecx
shl ebx, 4
cmp dword [edi + ebx + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1004349a
movzx eax, al
cmp eax, 0xff
jne 0x10045fd0
inc ecx
mov esi, ecx
mov ecx, edx
sub ecx, esi
ja 0x100434a4
jmp 0x10046871
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], 0
movq xmm2, qword [esp + 0x40]
movd edx, xmm2
test edx, edx
je 0x10043521
movd xmm0, eax
movd xmm1, ecx
punpckldq xmm0, xmm1
punpcklqdq xmm2, xmm0
jmp 0x1003fb8c
xor ecx, ebx
xor eax, edi
xor eax, 0x61656843
xor ecx, 0x74
or ecx, eax
jne 0x10043596
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x310b6c0
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x45dea372
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c87
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
jmp 0x1003fbc1
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x60], eax
mov eax, ecx
shr eax, 8
movzx esi, cl
shl eax, 8
mov ecx, 0x310ebc4
mov edx, 0x4d
or esi, eax
call fcn.1000c350
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x150]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x154], esi
mov dword [esp + 0x158], edi
mov dword [esp + 0x15c], ecx
lea ecx, [esp + 0x80]
push eax
call fcn.10051570
add esp, 4
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x1004362d
mov eax, dword [esp + 0x8c]
movq xmm0, qword [esp + 0x84]
dec dword [ebx]
mov edi, dword [ebp + 8]
jmp 0x10039913
mov eax, dword [esp + 0x84]
mov edi, dword [ebp + 8]
dec dword [ebx]
cmp eax, 3
je 0x1003a07f
jmp 0x1003a107
push 0x310c214
call fcn.10008f50
add esp, 4
ud2
push 0x310c23c
call fcn.10008f50
add esp, 4
ud2
mov ecx, 1
push 0x310b1a4
call fcn.10008f50
add esp, 4
ud2
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 8]
dec dword [eax]
mov eax, dword [esp + 0x3c]
add eax, 0x10
mov dword [esp + 0x70], eax
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10043765
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10043786
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10043740
cmp dword [esp + 0x150], 0
je 0x100437f7
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x6bc
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004394b
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x10043954
movsd xmm0, qword [esp + 0x158]
movq xmm1, qword [esp + 0x160]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004399a
cmp dword [esp + 8], 0x7e3
jne 0x1004399a
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edi
lea ecx, [esp + 0x150]
push 4
push 0x310bd54
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100438b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x100438d6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10043890
cmp dword [esp + 0x150], 0
je 0x1004437d
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x6c9
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100446b9
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x100446c2
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
movd eax, xmm0
test eax, eax
je 0x1004399a
mov eax, dword [esp + 0x70]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310dbec
mov ecx, dword [eax]
lea eax, [esp + 0x150]
push eax
call fcn.10023460
add esp, 4
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push edi
push esi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100439f5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10043a16
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100439d0
cmp dword [esp + 0x150], 0
je 0x10043a87
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x6eb
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10043bdb
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
jmp 0x10043be4
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10043c28
cmp dword [esp + 8], 0x13418bf
jne 0x10043c28
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x150]
push 8
push 0x310bdf8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10023730
add esp, 0x18
xor ebx, ebx
lea edx, [0x310a839]
lea esi, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10043b45
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10043b66
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10043b20
cmp dword [esp + 0x150], 0
je 0x1004440d
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x10043c28
mov eax, dword [esp + 0x70]
movups xmmword [esp + 0x150], xmm0
mov edx, 0x310dbf4
mov ecx, dword [eax]
lea eax, [esp + 0x150]
push eax
call fcn.10023460
add esp, 4
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push dword [ebp + 0xc]
push edi
call fcn.10052a70
add esp, 8
xor ebx, ebx
lea esi, [0x310a839]
lea edx, [0x310a83a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10043c85
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10043ca6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10043c60
cmp dword [esp + 0x150], 0
je 0x10043d17
mov esi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor edi, 0x728
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10043e6b
movsd xmm0, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x160]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 4
jne 0x10043eb8
mov eax, dword [esp + 0x158]
or eax, dword [esp + 0x15c]
je 0x10044767
mov edi, dword [esp + 0xb8]
mov eax, dword [esp + 0x160]
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov esi, dword [esp + 0x164]
lea ebx, [esp + 0x98]
lea ecx, [esp + 0x150]
mov edx, dword [edi]
push 1
push 8
push ebx
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001e960
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
je 0x1004476f
movq xmm0, qword [esp + 0x154]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], ecx
jmp 0x1004492f
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x10043969
xorps xmm0, xmm0
jmp 0x10043969
cmp dword [esp + 0x154], 8
jne 0x100448b0
mov dword [esp + 0x60], 0
mov dword [esp + 0x38], 0
jmp 0x1004492f
xor ecx, ecx
lea edx, [0x310c469]
lea esi, [0x310c46a]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100448ea
xor eax, eax
lea ebx, [0x310a839]
lea esi, [0x310a83a]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx edx, byte [ebx]
mov ebx, esi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10044975
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x15], 0
je 0x100454ad
mov ecx, 0x310a46d
mov edx, 8
call fcn.1000d5d0
test eax, eax
mov esi, 1
mov ecx, 0x310a475
mov edx, 6
cmove eax, esi
mov dword [esp + 0x20], eax
call fcn.1000d5d0
test eax, eax
lea edi, [0x310a47d]
mov ecx, 0xfffffff9
cmove eax, esi
lea esi, [0x310a47c]
xor ebx, ebx
mov dword [esp + 0x70], eax
xor eax, eax
nop dword [eax]
movzx edx, byte [esi]
mov esi, edi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10044e45
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10046891
add dl, 0xa9
mov dh, dl
mov edi, eax
movzx edx, dh
shl edi, 4
or edx, edi
lea edi, [esi + 1]
test ecx, ecx
cmove edi, esi
je 0x10044e64
shld ebx, eax, 4
inc ecx
test esi, esi
mov eax, edx
jne 0x10044e20
mov eax, dword [esp + 0x20]
mov esi, 0x4433
xor edx, 4
mov ebx, 0x22110000
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], 0
mov edx, 0x310dc12
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x150]
mov dword [esp + 0x20], ecx
push eax
push 5
call fcn.10046be0
add esp, 8
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov ecx, dword [eax + 0x9c]
mov edx, dword [eax + 0x98]
xor ecx, esi
xor edx, ebx
or edx, ecx
jne 0x100453b5
cmp dword [eax + 0xec], 0x6d736b63
jne 0x100453b5
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x150]
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x74], eax
push dword [eax + 8]
call fcn.10003b30
add esp, 8
xor esi, esi
lea edi, [0x310d6fd]
lea edx, [0x310d6fe]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10044f45
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10046891
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [edi + 1]
cmove edx, edi
je 0x10044f66
shld ebx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x10044f20
cmp dword [esp + 0x150], 0
je 0x10044fdd
mov edi, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x160]
mov eax, dword [0x3111000]
xor ecx, 0x1e
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov esi, 0x4433
je 0x1004516d
lea ecx, [esp + 0x80]
call fcn.10053410
xor edx, edx
jmp 0x10045176
mov ebx, dword [esp + 0x160]
mov ecx, dword [esp + 0x70]
mov esi, 0x4433
mov eax, dword [ebx + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x10046a81
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x10045911
mov edx, dword [esp + 0x158]
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 0xc0], edx
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
cmp edx, 0x400
jne 0x100451a6
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
xorps xmm0, xmm0
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x160], 0
mov ecx, esp
movaps xmmword [esp + 0x150], xmm0
push 0
push 0x14
lea esi, [esp + 0x158]
push esi
push 0
push 0x400
push dword [esp + 0x84]
push eax
call fcn.1001e960
add esp, 0x1c
xor esi, esi
lea edx, [0x310d6fd]
lea edi, [0x310d6fe]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100450d5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov edi, esi
movzx ecx, ch
shl edi, 4
or ecx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x100450f4
shld ebx, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x100450b0
mov eax, dword [esp]
test eax, eax
je 0x100451bd
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x3111000]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 0x44], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x9c], edi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov ebx, dword [esp + 0xb0]
je 0x100451d1
lea ecx, [esp + 0x98]
call fcn.10053410
xor edx, edx
jmp 0x100451e7
mov edx, dword [esp + 0x44]
mov dword [edx], edi
mov dword [edx + 4], ebx
movdqa xmm0, xmmword [esp + 0x60]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
movd eax, xmm0
mov ebx, dword [esp + 4]
mov ecx, ebx
shr ecx, 8
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x70]
test eax, eax
jne 0x1004536a
jmp 0x100453b5
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], 0
jmp 0x1004530a
mov eax, dword [esp + 4]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x70], eax
jmp 0x10045235
movdqa xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 0x84]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], edi
movq xmm0, qword [esp + 0x40]
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 8]
mov esi, 0x4433
movd ecx, xmm0
test ecx, ecx
je 0x1004522a
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x60], edx
xor eax, 0x2b
movd edx, xmm0
mov dword [esp + 0x70], eax
mov eax, edx
mov dword [esp + 0xb4], edx
shr edx, 8
mov dword [esp + 0x38], edx
jmp 0x10045303
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x70], xmm0
mov eax, dword [edi]
mov ecx, esp
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
push 0
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020130
add esp, 0x14
mov ecx, dword [esp]
test ecx, ecx
je 0x1004528e
movzx edi, byte [esp + 7]
movzx edx, word [esp + 5]
movzx eax, byte [esp + 4]
mov esi, dword [esp + 8]
shl edi, 0x10
mov dword [esp + 0xb4], eax
mov dword [esp + 0x70], esi
or edx, edi
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x60], edx
jmp 0x100452fb
xor ecx, ecx
cmp byte [esp + 4], 0x4d
jne 0x100452f4
mov eax, dword [ebp + 0xc]
add esi, 1
mov ecx, esp
adc edi, 0
mov edx, dword [eax]
push 0
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020130
add esp, 0x14
mov eax, dword [esp]
test eax, eax
je 0x1004573c
movzx ecx, byte [esp + 4]
movzx edx, word [esp + 5]
mov dword [esp + 0xb4], ecx
movzx ecx, byte [esp + 7]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x38], edx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
mov ecx, eax
jmp 0x100452fb
mov dword [esp + 0xb4], eax
mov edi, dword [ebp + 8]
mov esi, 0x4433
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xc0]
push ebx
call fcn.10022fa0
add esp, 4
dec dword [ebx]
jne 0x10045350
inc dword [ebx + 4]
lea ecx, [ebx + 8]
call fcn.10053750
mov eax, dword [ebx + 4]
dec eax
mov dword [ebx + 4], eax
or eax, dword [ebx]
jne 0x10045350
mov eax, dword [0x3111000]
push 8
push 0x30
push ebx
push 0x310fe14
call dword [eax + 0x10]
add esp, 0x10
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0xb4]
test eax, eax
je 0x100453b5
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x150], eax
movzx eax, bl
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0x20]
shl edx, 8
or eax, edx
mov edx, 0x310dc17
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x15c], eax
lea eax, [esp + 0x150]
push eax
push 0xc
call fcn.10046be0
add esp, 8
mov eax, dword [edi]
mov ecx, 0x22110000
xor esi, dword [eax + 0x9c]
xor ecx, dword [eax + 0x98]
or ecx, esi
jne 0x100454a9
cmp dword [eax + 0xec], 0x73747373
jne 0x100454a9
cmp dword [eax + 0xcc], 0x2000
jne 0x100454a9
cmp dword [eax + 0xe4], 0x3000
jne 0x100454a9
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jne 0x100454a9
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x100454a9
mov edi, 0x2000
mov esi, dword [eax + 0xc]
lea ecx, [esp + 0x150]
add edi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
adc esi, 0
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020970
add esp, 0x10
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10045614
mov ecx, dword [esp + 0x15c]
movq xmm0, qword [esp + 0x154]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp]
movsd xmm1, qword [esp + 8]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x150]
mov edx, 0x310dc23
movsd qword [esp + 0x158], xmm1
movsd qword [esp + 0x150], xmm0
push eax
push 6
call fcn.10046be0
add esp, 8
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x14], 0
je 0x100455fb
mov esi, eax
lea eax, [esp + 0x118]
mov edx, edi
lea ecx, [esp + 0x150]
push dword [esi + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.100283d0
add esp, 0xc
xor edi, edi
lea edx, [0x310e9c9]
lea ebx, [0x310e9ca]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10045525
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10046891
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10045546
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10045500
mov eax, dword [esp + 0x150]
test eax, eax
je 0x100455fb
movsd xmm0, qword [esp + 0x154]
mov edi, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [0x3111000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x310fe14
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100455db
lea ecx, [esp + 0x80]
call fcn.10053410
xor eax, eax
movq xmm0, qword [esp]
movd ecx, xmm0
test ecx, ecx
je 0x100455fb
mov ecx, dword [esp + 0xfc]
xor esi, 0x111
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
movq qword [ecx], xmm0
jmp 0x1004560c
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
movd ecx, xmm0
test ecx, ecx
jne 0x100455c2
mov eax, dword [esp + 0xfc]
mov byte [eax + 4], 0
mov dword [eax], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esp + 0x154], 0
mov edi, dword [ebp + 8]
je 0x100454a9
cmp dword [esp + 0x158], 0x33c0c300
jne 0x100454a9
mov eax, dword [edi]
mov ebx, dword [ebp + 0xc]
mov edi, 0x2004
lea ecx, [esp + 0x150]
mov esi, dword [eax + 0xc]
add edi, dword [eax + 8]
mov edx, dword [ebx]
adc esi, 0
push 1
push esi
push edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1001fa10
add esp, 0x14
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x10045451
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x154]
mov eax, dword [eax]
mov dword [esp + 0xe0], ecx
mov edx, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov dword [esp + 0x150], ecx
mov eax, edx
mov esi, edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], edx
add eax, 0x2008
mov dword [esp + 0x70], eax
mov eax, edx
adc esi, 0
add eax, ecx
lea ecx, [esp + 0x150]
adc edi, 0
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], edi
call fcn.1000d340
mov dword [esp + 0xac], edx
mov edx, dword [ebx]
lea ecx, [esp + 0x150]
mov dword [esp + 0xc0], eax
push 1
push esi
push dword [esp + 0x78]
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1001fdc0
add esp, 0x14
movq xmm0, qword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
movd edx, xmm0
test edx, edx
je 0x100458a3
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 0xc], eax
movd eax, xmm0
mov dword [esp + 8], ecx
test eax, eax
jne 0x10045471
jmp 0x100454a9
cmp byte [esp + 4], 0x5a
mov edi, dword [ebp + 8]
mov esi, 0x4433
jne 0x10045815
mov ecx, dword [esp + 0x70]
cmp ecx, 0x15
jae 0x10046bb3
cmp ecx, 0x14
jne 0x100457f2
movdqa xmm0, xmmword [esp + 0x150]
movd xmm1, dword [esp + 0x160]
pcmpeqb xmm1, xmmword [0x3108350]
pcmpeqb xmm0, xmmword [0x3108360]
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x100457f2
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
mov edx, esp
push 4
push 0x310d72c
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov edx, 0x549a2aa6
mov dword [esp + 0x70], eax
push dword [esp + 0x44]
push eax
push 0xddf2
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
call fcn.1001e8c0
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xc0]
push ebx
call fcn.10022fa0
add esp, 4
mov ecx, ebx
call fcn.10053f30
jmp 0x100453b5
mov dword [esp + 0xb4], eax
xor ecx, ecx
jmp 0x10045303
xor eax, dword [esp + 0xac]
xor ecx, dword [esp + 0xc0]
mov edx, dword [ebx]
mov edi, ebx
mov dword [esp + 4], eax
mov eax, esp
mov dword [esp], ecx
lea ecx, [esp + 0x150]
push 1
push 8
push eax
push dword [esp + 0x44]
push dword [esp + 0x70]
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10020280
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
je 0x10045a04
mov ecx, dword [esp + 0x15c]
movq xmm0, qword [esp + 0x154]
mov dword [esp + 0xc], ecx
movq qword [esp + 4], xmm0
mov dword [esp], eax
jmp 0x1004546e
xor edx, edx
push 0x31089a4
call fcn.10008f50
add esp, 4
ud2
mov ecx, 0x3108828
mov edx, 0x58
call fcn.1000c350
mov ecx, dword [esp + 0x70]
xor eax, eax
sub ecx, edi
cmovb ecx, eax
cmp ecx, 6
jbe 0x1003ee1e
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov ecx, esp
lea edx, [esp + 0x150]
push 4
push 0x3108844
call fcn.1001c830
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xd7df84ac
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c82
call fcn.10025650
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1001e8c0
jmp 0x1003ee1e
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x150]
dec eax
mov dword [esp + 0x150], eax
call fcn.1000d340
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x150]
add eax, 0x2010
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fdc0
add esp, 0x14
movq xmm0, qword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
movd edx, xmm0
test edx, edx
jne 0x1004571b
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x38]
add esi, 8
adc edi, 0
xor eax, ebx
xor ecx, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
mov edi, eax
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020280
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x100458ef
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x150]
add eax, 0xfffffffe
mov dword [esp + 0x150], eax
call fcn.1000d340
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x150]
add eax, 0x2018
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fdc0
add esp, 0x14
movq xmm0, qword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
movd edx, xmm0
test edx, edx
jne 0x1004571b
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x38]
add esi, 0x10
adc edi, 0
xor eax, ebx
xor ecx, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
mov edi, eax
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020280
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x100458ef
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x150]
add eax, 0xfffffffd
mov dword [esp + 0x150], eax
call fcn.1000d340
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x150]
add eax, 0x2020
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fdc0
add esp, 0x14
movq xmm0, qword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
movd edx, xmm0
test edx, edx
jne 0x1004571b
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x38]
add esi, 0x18
adc edi, 0
xor eax, ebx
xor ecx, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
mov edi, eax
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020280
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x100458ef
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x150]
add eax, 0xfffffffc
mov dword [esp + 0x150], eax
call fcn.1000d340
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x150]
add eax, 0x2028
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fdc0
add esp, 0x14
movq xmm0, qword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
movd edx, xmm0
test edx, edx
jne 0x1004571b
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x38]
add esi, 0x20
adc edi, 0
xor eax, ebx
xor ecx, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
mov edi, eax
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020280
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x100458ef
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x150]
add eax, 0xfffffffb
mov dword [esp + 0x150], eax
call fcn.1000d340
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x150]
add eax, 0x2030
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fdc0
add esp, 0x14
movq xmm0, qword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
movd edx, xmm0
test edx, edx
jne 0x1004571b
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x38]
add esi, 0x28
adc edi, 0
xor eax, ebx
xor ecx, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
mov edi, eax
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020280
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x100458ef
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x150]
add eax, 0xfffffffa
mov dword [esp + 0x150], eax
call fcn.1000d340
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x150]
add eax, 0x2038
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1001fdc0
add esp, 0x14
movq xmm0, qword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
movd edx, xmm0
test edx, edx
jne 0x1004571b
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x38]
add esi, 0x30
adc edi, 0
xor eax, ebx
xor ecx, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
mov edi, eax
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020280
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x100458ef
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x150]
add eax, 0xfffffff9
mov dword [esp + 0x150], eax
call fcn.1000d340
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb0]
mov esi, edi
mov edi, dword [esp + 0xb4]
mov ebx, edx
lea ecx, [esp + 0x150]
mov edx, dword [esi]
add eax, 0x2040
adc edi, 0
push 1
push edi
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.1001fdc0
add esp, 0x14
movq xmm0, qword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
movd edx, xmm0
test edx, edx
jne 0x1004571b
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x38]
add esi, 0x38
adc edi, 0
xor eax, ebx
xor ecx, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10020280
add esp, 0x1c
mov eax, dword [esp + 0x150]
test eax, eax
jne 0x100458ef
mov edi, dword [ebp + 8]
jmp 0x100454a9
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x10046871
mov ecx, dword [esp + 0x20]
xor edx, edx
mov esi, eax
mov ecx, dword [ecx + ebx]
jmp 0x10045ff7
mov esi, eax
sub eax, edx
jbe 0x10046871
shr eax, 1
xor ebx, ebx
add eax, edx
mov edi, eax
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x38649ca6
mov edi, 0xff
setne bl
cmovb ebx, edi
cmp bl, 1
je 0x10045fed
movzx edx, bl
cmp edx, 0xff
jne 0x100460fb
push 0x310a848
call fcn.10008f50
add esp, 4
ud2
mov dword [esp + 0x40], 0
xor esi, esi
mov eax, dword [esp + 0x70]
dec dword [eax]
mov edi, dword [ebp + 8]
test esi, esi
jne 0x10040b1e
jmp 0x10040b4b
mov ecx, 0x310ed88
mov edx, 0xe
push 0x31099dc
call fcn.10009910
add esp, 4
ud2
push 0x310bc8c
call fcn.10008f50
add esp, 4
ud2
mov ecx, 0x31085f8
mov edx, 0x41
push 0x310863c
call fcn.10009910
add esp, 4
ud2
mov edx, 6
push 0x3108834
call fcn.10009420
add esp, 4
ud2
mov edi, dword [esp + 0x60]
mov bl, 7
jmp 0x10046aeb
lea ebx, [esp + 0x150]
mov edi, edx
mov byte [esp + 0x20], 7
jmp 0x10046b59
mov ecx, 0x310ff98
mov edx, 0x2b
push 0x310d568
call fcn.10009910
add esp, 4
ud2
mov edi, dword [esp + 0x150]
mov ebx, eax
mov esi, dword [esp + 0x158]
call fcn.100541b0
mov ecx, eax
push esi
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x10046b1a
mov ecx, dword [0x3111000]
push edx
push eax
push edi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, 0x310fdd9
mov edx, 0x2b
mov byte [esp + 0x150], bl
push 0x310a500
push 0x310a730
lea eax, [esp + 0x158]
push eax
call fcn.1000a160
add esp, 0xc
ud2
mov edi, dword [esp + 0x150]
lea ebx, [esp + 0x150]
mov byte [esp + 0x20], al
mov esi, dword [esp + 0x158]
call fcn.100541b0
mov ecx, eax
push esi
call fcn.1000bca0
add esp, 4
test eax, eax
je 0x10046b88
mov ecx, dword [0x3111000]
push edx
push eax
push edi
push 0x310fe14
call dword [ecx + 0x10]
add esp, 0x10
movzx eax, byte [esp + 0x20]
mov ecx, 0x310fdd9
mov edx, 0x2b
mov byte [esp + 0x150], al
push 0x310a500
push 0x310a730
push ebx
call fcn.1000a160
add esp, 0xc
ud2
mov edx, 0x14
push 0x310d708
call fcn.10009420
add esp, 4
ud2
mov ecx, 1
xor edx, edx
push 0x310df00
call fcn.100093c0
add esp, 4
ud2