Function at 0x4e2fa0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2c0
mov esi, esp
mov dword [esi + 0x2a8], ebp
mov dword [esi + 0x2ac], esp
mov dword [esi + 0x2b8], 0xffffffff
mov dword [esi + 0x2b4], 0x4edfe0
mov edx, dword [ebp + 0xc]
call 0x4e2fd9
pop eax
mov ecx, dword fs:[0]
mov dword [esi + 0x110], eax
lea eax, [esi + 0x2b0]
mov dword [esi + 0x2b0], ecx
mov dword fs:[0], eax
mov ebx, dword [edx + 8]
mov eax, dword [ebx + 0x34]
mov dword [esi + 0x10], ebx
test eax, eax
je 0x4e3136
lea eax, [eax + eax*4]
mov edx, 0xcccccccd
xor edi, edi
lea ecx, [eax*4 - 0x14]
mov dword [esi + 4], eax
mov eax, ecx
mul edx
cmp ecx, 0x8c
mov ecx, dword [ebx + 0x2c]
mov ebx, ecx
jb 0x4e310f
shr edx, 4
movdqa xmm2, xmmword [0x605840]
movdqa xmm3, xmmword [0x605850]
mov dword [esi + 0xc], ecx
lea ebx, [ecx + 0x9c]
pxor xmm0, xmm0
pxor xmm1, xmm1
inc edx
mov dword [esi + 0x24], edx
and edx, 0xfffffff8
lea eax, [edx + edx*4]
mov dword [esi + 0x18], edx
lea eax, [ecx + eax*4]
mov ecx, edx
mov dword [esi + 8], eax
nop dword [eax]
mov eax, dword [ebx - 0x50]
movzx edx, byte [ebx - 0x64]
movzx edi, byte [ebx - 0x8c]
shl eax, 8
or eax, edx
mov edx, dword [ebx - 0x78]
shl edx, 8
or edx, edi
mov edi, dword [ebx]
movd xmm4, edx
movzx edx, byte [ebx - 0x14]
pinsrw xmm4, eax, 1
movzx eax, byte [ebx - 0x3c]
pcmpeqb xmm4, xmm2
shl edi, 8
punpcklbw xmm4, xmm4
or edi, edx
mov edx, dword [ebx - 0x28]
punpcklwd xmm4, xmm4
add ebx, 0xa0
pand xmm4, xmm3
paddd xmm0, xmm4
shl edx, 8
or edx, eax
add ecx, 0xfffffff8
movd xmm5, edx
pinsrw xmm5, edi, 1
pcmpeqb xmm5, xmm2
punpcklbw xmm5, xmm5
punpcklwd xmm5, xmm5
pand xmm5, xmm3
paddd xmm1, xmm5
jne 0x4e3070
mov eax, dword [esi + 0x18]
paddd xmm1, xmm0
mov ebx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
cmp dword [esi + 0x24], eax
paddd xmm1, xmm0
movd edi, xmm1
je 0x4e3138
mov eax, dword [esi + 4]
lea ecx, [ecx + eax*4]
nop word cs:[eax + eax]
nop
xor eax, eax
cmp byte [ebx + 0x10], 4
lea edx, [ebx + 0x14]
mov ebx, edx
sete al
add edi, eax
cmp edx, ecx
jne 0x4e3120
jmp 0x4e3138
xor edi, edi
mov eax, dword [esi + 0x10]
mov dword [esi + 0x50], edi
mov ecx, dword [eax + 0x20]
imul eax, dword [eax + 0x28], 0x150
add eax, ecx
mov dword [esi + 0x68], eax
mov eax, dword [ebp + 0xc]
add eax, 8
mov dword [esi + 0x38], eax
nop word cs:[eax + eax]
cmp ecx, dword [esi + 0x68]
mov dword [esi + 0x24], ecx
je 0x4e319a
lea eax, [ecx + 0x144]
mov dword [esi + 0x114], 0
mov dword [esi + 0x2b8], 0
push 0xf
push eax
call fcn.004af9c0
add esp, 8
mov edx, dword [esi + 0x24]
test al, al
lea ecx, [edx + 0x150]
je 0x4e3160
mov eax, dword [ebp + 0x10]
mov ecx, 1
mov dword [esi + 0x2c], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0xcc], 0
add eax, 0x40
mov dword [esi + 0x254], eax
xor eax, eax
mov dword [esi + 0x20], ecx
mov dword [esi + 0x3c], eax
mov dword [esi + 0x2b8], 0
lea eax, [ebp + 0x18]
mov dword [esi + 0x114], 0
mov dword [esi + 0x2b8], 0
push eax
push dword [ebp + 0x14]
lea eax, [esi + 0x290]
push eax
call fcn.004f8740
add esp, 0xc
cmp dword [esi + 0x290], 0
je 0x4e59c8
lea ecx, [esi + 0x294]
mov dword [esi + 0x2b8], 5
mov eax, dword [ecx + 0x10]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov dword [esi + 0x1f8], eax
lea eax, [esi + 0x1e8]
movq qword [esi + 0x1f0], xmm1
movq qword [esi + 0x1e8], xmm0
push eax
lea eax, [esi + 0x78]
push eax
call fcn.004f9200
add esp, 8
cmp dword [esi + 0x78], 0
jne 0x4e3260
mov eax, dword [esi + 0x80]
mov dword [esi + 0x10], eax
jne 0x4e3380
mov eax, dword [esi + 0x7c]
test eax, eax
mov dword [esi + 0x18], eax
je 0x4e3380
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x4e3380
mov dword [esi + 4], eax
add eax, 0x48
push dword [esi + 0x10]
push dword [esi + 0x18]
push eax
call fcn.004c0010
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 4]
mov dword [esi + 0x44], 0
mov ecx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
mov dword [esi + 8], eax
mov eax, edx
mov dword [esi + 0x40], ecx
shr eax, 0x19
movd xmm0, eax
lea eax, [ecx - 0x10]
punpcklbw xmm0, xmm0
mov dword [esi + 0xc], eax
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esi + 0x280], xmm0
and edx, dword [esi + 8]
mov eax, dword [esi + 0x40]
movdqa xmm0, xmmword [esi + 0x280]
movdqu xmm1, xmmword [eax + edx]
mov dword [esi + 4], edx
pcmpeqb xmm0, xmm1
movdqa xmmword [esi + 0x210], xmm1
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x4e333c
movdqa xmm1, xmmword [esi + 0x210]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x4e3380
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x44]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x44], eax
jmp 0x4e32d5
lea eax, [ebx - 1]
and eax, ebx
test ax, ax
mov ebx, eax
je 0x4e32ff
tzcnt edi, ebx
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
add edi, dword [esi + 4]
and edi, dword [esi + 8]
mov ecx, edi
shl ecx, 4
sub eax, ecx
cmp dword [eax + 4], edx
jne 0x4e3330
push dword [esi + 0x10]
push dword [eax]
push dword [esi + 0x18]
call fcn.00588c8a
add esp, 0xc
test eax, eax
jne 0x4e3330
jmp 0x4e5070
test byte [esi + 0x3c], 1
jne 0x4e34a0
mov eax, dword [esi + 0x38]
mov dword [esi + 0x2b8], 5
mov eax, dword [eax]
mov dword [esi + 4], eax
add eax, 0xc8
push 0x12
mov dword [esi + 0x18], eax
push eax
call fcn.004c2a10
add esp, 8
test al, al
jne 0x4e33d3
mov eax, dword [esi + 4]
add eax, 0xd0
push 0x12
push eax
call fcn.004c2a10
add esp, 8
mov ecx, dword [esi + 0x2c]
or ecx, dword [esi + 0x74]
sete cl
or al, cl
je 0x4e340b
lea eax, [esi + 0x1e8]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.004f9200
add esp, 8
xor eax, eax
cmp byte [esi + 0xcc], 0
mov ecx, dword [ebp + 0xc]
lea edx, [esi + 0x78]
setne al
push eax
call fcn.004e8e70
add esp, 4
mov edi, eax
test eax, eax
jne 0x4e65f1
lea eax, [esi + 0x1e8]
push eax
call fcn.004f8b00
add esp, 4
test al, al
je 0x4e34ab
mov eax, dword [esi + 0x2c]
cmp eax, 2
je 0x4e3613
cmp eax, 1
jne 0x4e51bb
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x20]
imul ecx, dword [ecx + 0x28], 0x150
lea eax, [edx - 0xc]
nop word [eax + eax]
test ecx, ecx
je 0x4e7c39
mov edi, dword [edx + 0x38]
mov ebx, dword [edx + 0x3c]
add eax, 0x150
add ecx, 0xfffffeb0
add edx, 0x150
xor edi, dword [esi + 0x30]
xor ebx, dword [esi + 0x54]
or ebx, edi
jne 0x4e3450
mov dword [esi + 0x2b8], 5
push 0xc
push eax
call fcn.004af9c0
add esp, 8
jmp 0x4e366e
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0x20]
jmp 0x4e4637
lea eax, [esi + 0x1e8]
push eax
lea eax, [esi + 0x1d4]
push eax
call fcn.004f8bb0
add esp, 8
mov edx, dword [esi + 0x1d4]
cmp edx, 2
jne 0x4e3580
lea eax, [esi + 0x1e8]
push eax
lea eax, [esi + 0xe0]
push eax
call fcn.004f8ef0
add esp, 8
cmp dword [esi + 0xe0], 0
je 0x4e379a
mov eax, dword [esi + 0xf8]
movq xmm0, qword [esi + 0xf0]
movq xmm2, qword [esi + 0xe0]
movq xmm1, qword [esi + 0xe8]
mov dword [esi + 0x270], eax
movq qword [esi + 0x268], xmm0
movq qword [esi + 0x260], xmm1
movq qword [esi + 0x258], xmm2
push 3
push dword [esi + 0x18]
call fcn.004c2a10
add esp, 8
test al, al
jne 0x4e355b
mov eax, dword [esi + 4]
add eax, 0xd0
push 3
push eax
call fcn.004c2a10
add esp, 8
test al, al
je 0x4e3684
lea eax, [esi + 0x258]
push eax
call fcn.004f9390
add esp, 4
test al, al
je 0x4e3684
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x50]
jmp 0x4e462b
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1dc]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1e0]
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x1e4]
mov dword [esi + 0x280], eax
mov eax, dword [esi + 0x2c]
cmp eax, 2
je 0x4e37a8
cmp eax, 1
jne 0x4e380f
mov ecx, dword [esi + 4]
mov dword [esi + 8], edx
mov edx, dword [ecx + 0x20]
imul ecx, dword [ecx + 0x28], 0x150
lea eax, [edx - 0xc]
nop
test ecx, ecx
je 0x4e7c84
mov edi, dword [edx + 0x38]
mov ebx, dword [edx + 0x3c]
add eax, 0x150
add ecx, 0xfffffeb0
add edx, 0x150
xor edi, dword [esi + 0x30]
xor ebx, dword [esi + 0x54]
or ebx, edi
jne 0x4e35d0
mov dword [esi + 0x2b8], 5
push 0xc
push eax
call fcn.004af9c0
add esp, 8
jmp 0x4e37fe
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x20]
imul ecx, dword [ecx + 0x28], 0x150
lea eax, [edx - 0xc]
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x4e7c16
mov edi, dword [edx + 0x38]
mov ebx, dword [edx + 0x3c]
add eax, 0x150
add ecx, 0xfffffeb0
add edx, 0x150
xor edi, dword [esi + 0x30]
xor ebx, dword [esi + 0x54]
or ebx, edi
jne 0x4e3630
mov dword [esi + 0x2b8], 5
push 0xc
push eax
call fcn.004af9c0
add esp, 8
test al, al
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0x20]
jne 0x4e462b
jmp 0x4e51bb
push 2
push dword [esi + 0x18]
call fcn.004c2a10
add esp, 8
test al, al
jne 0x4e36b0
mov eax, dword [esi + 4]
add eax, 0xd0
push 2
push eax
call fcn.004c2a10
add esp, 8
test al, al
je 0x4e3c93
mov eax, dword [esi + 0x258]
movq xmm0, qword [esi + 0x260]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x25c]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x268]
movq qword [esi + 0x80], xmm0
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x26c]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x270]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 4]
add eax, 0xd0
mov dword [esi + 0xc], eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x58]
push eax
call fcn.004f93d0
add esp, 8
cmp dword [esi + 0x58], 0
je 0x4e3c93
cmp dword [esi + 0x5c], 0
jne 0x4e3572
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
push 0x2e
push dword [esi + 0x18]
call fcn.004c2a10
add esp, 8
test al, al
jne 0x4e3751
push 0x2e
push dword [esi + 0xc]
call fcn.004c2a10
add esp, 8
test al, al
je 0x4e7eb0
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x34]
shl eax, 2
lea eax, [eax + eax*4]
nop word cs:[eax + eax]
nop dword [eax]
test eax, eax
je 0x4e3572
mov edx, ecx
add eax, 0xffffffec
add ecx, 0x14
cmp byte [edx + 0x10], 2
jne 0x4e3770
cmp dword [edx + 4], edi
jne 0x4e3770
mov dword [esi + 0x2b8], 5
jmp 0x4e3701
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x50]
jmp 0x4e462b
mov ecx, dword [esi + 4]
mov dword [esi + 8], edx
mov edx, dword [ecx + 0x20]
imul ecx, dword [ecx + 0x28], 0x150
lea eax, [edx - 0xc]
nop dword [eax + eax]
test ecx, ecx
je 0x4e7ca7
mov edi, dword [edx + 0x38]
mov ebx, dword [edx + 0x3c]
add eax, 0x150
add ecx, 0xfffffeb0
add edx, 0x150
xor edi, dword [esi + 0x30]
xor ebx, dword [esi + 0x54]
or ebx, edi
jne 0x4e37c0
mov dword [esi + 0x2b8], 5
push 0xc
push eax
call fcn.004af9c0
add esp, 8
test al, al
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 8]
jne 0x4e4625
test edx, edx
jne 0x4e6b3c
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4e38ae
mov ecx, dword [esi + 4]
lea eax, [eax + eax*4]
mov edi, dword [ecx + 0x2c]
lea ebx, [edi + eax*4]
mov dword [esi + 0x210], ebx
jmp 0x4e3847
add edi, 0x14
cmp edi, ebx
je 0x4e38ae
movzx eax, byte [edi + 0x10]
add al, 0xfe
cmp al, 2
ja 0x4e3855
cmp al, 1
jne 0x4e3840
lea eax, [edi + 4]
mov dword [esi + 8], edi
mov dword [esi + 0x2b8], 5
push eax
call fcn.00525d50
add esp, 4
mov ecx, dword [esi + 0x44]
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x210]
cmp edx, ecx
mov edx, dword [esi + 0xc]
jne 0x4e3840
push ecx
push edx
push eax
call fcn.00588c8a
add esp, 0xc
test eax, eax
jne 0x4e3840
mov edx, dword [esi + 4]
mov eax, dword [edi]
mov ecx, dword [edx + 0x28]
cmp eax, ecx
jae 0x4e7c02
imul edi, eax, 0x150
add edi, dword [edx + 0x20]
jmp 0x4e3985
mov dword [esi + 0x2b8], 5
push 8
push dword [esi + 0x18]
call fcn.004c2a10
add esp, 8
test al, al
jne 0x4e38e4
mov eax, dword [esi + 4]
add eax, 0xd0
push 8
push eax
call fcn.004c2a10
add esp, 8
test al, al
je 0x4e39e0
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x4e39e0
mov ecx, dword [esi + 4]
imul eax, eax, 0x150
mov edi, dword [ecx + 0x20]
add eax, edi
mov dword [esi + 0x210], eax
jmp 0x4e391d
mov edi, dword [esi + 8]
add edi, 0x150
cmp edi, dword [esi + 0x210]
je 0x4e39e0
mov eax, dword [edi + 0x50]
test eax, eax
je 0x4e393f
mov ecx, dword [esi + 0x44]
cmp dword [edi + 0x54], ecx
jb 0x4e393f
push dword [esi + 0x44]
push eax
push dword [esi + 0xc]
call fcn.00588c8a
add esp, 0xc
test eax, eax
je 0x4e3985
mov eax, dword [edi + 0xf8]
mov dword [esi + 8], edi
test eax, eax
je 0x4e3908
mov ecx, dword [esi + 8]
shl eax, 2
lea edi, [eax + eax*2]
mov ebx, dword [ecx + 0xf0]
add ebx, 4
jmp 0x4e3968
add ebx, 0xc
add edi, 0xfffffff4
je 0x4e3908
mov eax, dword [esi + 0x44]
cmp dword [ebx], eax
jb 0x4e3960
push eax
push dword [ebx - 4]
push dword [esi + 0xc]
call fcn.00588c8a
add esp, 0xc
test eax, eax
jne 0x4e3960
mov edi, dword [esi + 8]
lea eax, [edi + 0x144]
mov dword [esi + 8], edi
mov dword [esi + 0x2b8], 5
push 7
push eax
call fcn.004af9c0
add esp, 8
test al, al
je 0x4e3c0f
mov edi, dword [esi + 0x40]
mov edx, dword [ebp + 0xc]
xor eax, eax
mov cl, 1
mov dword [esi + 0xcc], ecx
lea ecx, [esi + 0x78]
test edi, edi
setne al
push eax
push dword [ebp + 0x10]
push dword [esi + 8]
push dword [esi + 0x280]
push edi
push 1
call fcn.004ea070
add esp, 0x18
jmp 0x4e45a6
mov dword [esi + 0x2b8], 5
push 9
push dword [esi + 0x18]
call fcn.004c2a10
add esp, 8
test al, al
jne 0x4e3a16
mov eax, dword [esi + 4]
add eax, 0xd0
push 9
push eax
call fcn.004c2a10
add esp, 8
test al, al
je 0x4e3d03
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x12c]
test eax, eax
je 0x4e3dc0
mov ecx, dword [ecx + 0x124]
mov edi, dword [esi + 0x44]
imul eax, eax, 0x160
xor edx, edx
mov ebx, 4
mov dword [esi + 0x40], 0
add eax, ecx
mov dword [esi + 0x280], eax
jmp 0x4e3a6e
mov ebx, dword [esi + 0x128]
mov edx, dword [esi + 0x12c]
add ecx, 0x160
cmp ecx, dword [esi + 0x280]
je 0x4e3c63
mov eax, dword [esi + 0x40]
mov dword [esi + 0x128], ebx
mov dword [esi + 0x12c], edx
mov dword [esi + 0x130], eax
mov dword [esi + 0x134], ecx
mov eax, dword [ecx + 0x60]
test eax, eax
je 0x4e3a5c
mov dword [esi + 4], edx
mov edx, ebx
mov ebx, dword [ecx + 0x64]
mov dword [esi + 0x18], ecx
cmp ebx, edi
mov dword [esi + 8], ebx
jb 0x4e3ac2
mov dword [esi + 0x210], edx
push edi
push eax
push dword [esi + 0xc]
mov ebx, eax
call fcn.00588c8a
add esp, 0xc
test eax, eax
je 0x4e3b97
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x108]
test eax, eax
je 0x4e3a50
mov edx, dword [ecx + 0x100]
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
mov dword [esi + 0x210], eax
jmp 0x4e3aeb
add edx, 0xc
cmp edx, eax
je 0x4e3a50
mov ebx, dword [edx + 4]
cmp ebx, edi
mov dword [esi + 4], ebx
jb 0x4e3ae0
mov ebx, dword [edx]
push edi
push ebx
push dword [esi + 0xc]
mov dword [esi + 8], edx
call fcn.00588c8a
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x18]
add esp, 0xc
test eax, eax
mov eax, dword [esi + 0x210]
jne 0x4e3ae0
mov eax, dword [esi + 0x40]
mov dword [esi + 0x23c], ebx
cmp eax, dword [esi + 0x12c]
jne 0x4e3b4c
mov dword [esi + 0x2b8], 0x3c
push 1
push dword [esi + 0x40]
lea eax, [esi + 0x128]
push eax
call fcn.005a9e20
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x18]
add esp, 0xc
mov eax, dword [esi + 0x128]
mov edi, dword [esi + 0x40]
add edx, 0xc
mov dword [esi + 8], eax
mov eax, dword [esi + 0x23c]
mov ebx, dword [esi + 8]
mov dword [ebx + edi*8], eax
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0x40]
mov dword [ebx + edi*8 + 4], eax
mov eax, dword [esi + 0x40]
mov edi, dword [esi + 0x44]
inc eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x210]
cmp edx, eax
jne 0x4e3aeb
jmp 0x4e3a50
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 4]
mov dword [esi + 0x23c], ebx
mov ecx, dword [esi + 0x18]
mov ebx, dword [esi + 0x210]
cmp eax, edx
jne 0x4e3bdc
mov dword [esi + 0x2b8], 0x3c
push edx
lea eax, [esi + 0x128]
push eax
call fcn.00478ea0
mov ecx, dword [esi + 0x18]
mov edi, dword [esi + 0x44]
add esp, 8
mov ebx, dword [esi + 0x128]
mov eax, dword [esi + 0x130]
mov edx, dword [esi + 0x23c]
mov dword [ebx + eax*8], edx
mov edx, dword [esi + 8]
mov dword [ebx + eax*8 + 4], edx
mov eax, dword [esi + 0x130]
inc eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x130], eax
mov eax, dword [ecx + 0x108]
test eax, eax
jne 0x4e3acc
jmp 0x4e3a50
cmp dword [esi + 0x40], 0
jne 0x4e75eb
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x128], 4
mov dword [esi + 0x12c], 0
mov dword [esi + 0x130], 0
lea ecx, [esi + 0x78]
push dword [ebp + 0x10]
lea eax, [esi + 0x128]
push eax
push dword [esi + 8]
push 2
push 1
call fcn.004eb720
add esp, 0x14
mov al, 1
mov dword [esi + 0xcc], eax
jmp 0x4e45a6
mov eax, dword [esi + 0x40]
cmp eax, 1
jne 0x4e3d55
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
test edx, edx
mov dword [esi + 8], eax
je 0x4e3d26
shl edx, 3
push 4
push edx
push ebx
call fcn.00452e30
add esp, 0xc
jmp 0x4e3d26
mov eax, dword [esi + 0x2c]
cmp eax, 1
je 0x4e3e6a
cmp eax, 2
jne 0x4e3ec6
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x20]
imul ecx, dword [ecx + 0x28], 0x150
lea eax, [edx - 0xc]
nop dword [eax + eax]
test ecx, ecx
je 0x4e7d28
mov edi, dword [edx + 0x38]
mov ebx, dword [edx + 0x3c]
add eax, 0x150
add ecx, 0xfffffeb0
add edx, 0x150
xor edi, dword [esi + 0x30]
xor ebx, dword [esi + 0x54]
or ebx, edi
jne 0x4e3cc0
mov dword [esi + 0x2b8], 5
push 0xc
push eax
call fcn.004af9c0
add esp, 8
jmp 0x4e3ebe
push dword [esi + 0x44]
push dword [esi + 0xc]
push dword [esi + 4]
call fcn.004aeb80
add esp, 0xc
mov dword [esi + 8], eax
cmp dword [esi + 8], 0
mov eax, dword [esi + 4]
je 0x4e3dcf
mov edi, edx
test edi, edi
je 0x4e3e3d
js 0x4e7f0f
movzx eax, byte [0x636fbd]
push 1
push edi
call fcn.00452e20
add esp, 8
mov ebx, eax
test eax, eax
jne 0x4e3e42
jmp 0x4e7f23
test eax, eax
je 0x4e3dad
shl dword [esi + 0x40], 3
xor edi, edi
mov dword [esi + 4], edx
jmp 0x4e3d78
add edi, 8
cmp dword [esi + 0x40], edi
je 0x4e3dad
mov eax, dword [esi + 0x44]
cmp dword [ebx + edi + 4], eax
jne 0x4e3d70
mov eax, dword [ebx + edi]
push dword [esi + 0x44]
push dword [esi + 0xc]
mov dword [esi + 8], eax
push eax
call fcn.00588c8a
mov edx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x4e3d70
mov edi, dword [esi + 0x44]
test edx, edx
jne 0x4e3c7f
jmp 0x4e3d26
test edx, edx
je 0x4e3dc0
shl edx, 3
push 4
push edx
push ebx
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x38]
mov dword [esi + 0x2b8], 5
mov eax, dword [eax]
mov dword [esi + 4], eax
add eax, 0xc8
push 2
push eax
call fcn.004c2a10
add esp, 8
test al, al
mov eax, dword [esi + 0x2c]
jne 0x4e4625
mov eax, dword [esi + 4]
add eax, 0xd0
push 2
push eax
call fcn.004c2a10
add esp, 8
test al, al
mov eax, dword [esi + 0x2c]
mov ebx, dword [esi + 0x44]
jne 0x4e4625
test ebx, ebx
je 0x4e457e
js 0x4e8002
movzx eax, byte [0x636fbd]
push 1
push ebx
call fcn.00452e20
add esp, 8
mov edi, eax
test eax, eax
jne 0x4e4583
jmp 0x4e8009
mov ebx, 1
push edi
push dword [esi + 8]
push ebx
call fcn.005885b0
add esp, 0xc
mov dword [esi + 0x78], 0
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x80], edi
mov dword [esi + 0x84], edi
jmp 0x4e45a6
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x20]
imul ecx, dword [ecx + 0x28], 0x150
lea eax, [edx - 0xc]
nop word [eax + eax]
test ecx, ecx
je 0x4e7d4b
mov edi, dword [edx + 0x38]
mov ebx, dword [edx + 0x3c]
add eax, 0x150
add ecx, 0xfffffeb0
add edx, 0x150
xor edi, dword [esi + 0x30]
xor ebx, dword [esi + 0x54]
or ebx, edi
jne 0x4e3e80
mov dword [esi + 0x2b8], 5
push 0xc
push eax
call fcn.004af9c0
add esp, 8
test al, al
jne 0x4e3572
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x34]
shl ecx, 2
add eax, 0x10
lea ecx, [ecx + ecx*4]
nop dword [eax + eax]
test ecx, ecx
je 0x4e3f4b
mov edx, eax
add ecx, 0xffffffec
add eax, 0x14
cmp byte [edx], 4
jne 0x4e3ee0
mov edi, dword [esi + 0x20]
cmp dword [edx - 0xc], edi
jne 0x4e3ee0
mov edx, dword [esi + 4]
mov eax, dword [eax - 0x24]
mov ecx, dword [edx + 0x28]
mov dword [esi + 0x2b8], 5
cmp eax, ecx
jae 0x4e7c70
mov ecx, dword [edx + 0x20]
imul eax, eax, 0x150
lea eax, [ecx + eax + 0x144]
push 0xc
mov dword [esi + 4], eax
push eax
call fcn.004af9c0
add esp, 8
test al, al
je 0x4e3f4b
push 0xf
push dword [esi + 4]
call fcn.004af9c0
add esp, 8
test al, al
je 0x4e3572
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x178], 8
mov dword [esi + 0x2b8], 0x35
mov eax, dword [ecx + 0x10]
mov dword [ecx + 0x10], 0
push eax
lea eax, [esi + 0x258]
push eax
call fcn.004f9290
add esp, 8
mov dword [esi + 4], 8
lea eax, [esi + 0x258]
push eax
lea eax, [esi + 0x240]
push eax
call fcn.004f93d0
add esp, 8
cmp dword [esi + 0x240], 0
je 0x4e4e8b
mov ecx, dword [esi + 0x244]
mov eax, dword [esi + 0x248]
test ecx, ecx
jne 0x4e4eeb
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x278], eax
mov ecx, dword [ecx]
mov edi, dword [ecx + 0x34]
mov edx, dword [ecx + 0x2c]
shl edi, 2
add edx, 0x10
lea edi, [edi + edi*4]
nop word cs:[eax + eax]
nop
test edi, edi
je 0x4e433e
mov ebx, edx
add edi, 0xffffffec
add edx, 0x14
cmp byte [ebx], 2
jne 0x4e3fe0
cmp dword [ebx - 0xc], eax
jne 0x4e3fe0
mov eax, dword [edx - 0x24]
mov edx, dword [ecx + 0x28]
mov dword [esi + 0x2b8], 0x35
cmp eax, edx
jae 0x4e7c5c
mov ecx, dword [ecx + 0x20]
imul eax, eax, 0x150
mov dword [esi + 0xc], eax
lea eax, [ecx + eax + 0x144]
mov dword [esi + 8], ecx
push 7
push eax
call fcn.004af9c0
add esp, 8
mov edi, dword [esi + 8]
add edi, dword [esi + 0xc]
test al, al
je 0x4e40f6
mov eax, dword [esi + 0x258]
movq xmm0, qword [esi + 0x260]
mov dword [esi + 8], edi
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x25c]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x268]
movq qword [esi + 0x80], xmm0
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x26c]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x270]
mov dword [esi + 0x90], eax
lea eax, [esi + 0x78]
push eax
call fcn.004f9490
add esp, 4
mov dword [esi + 0xc], edx
mov ecx, eax
test eax, eax
jne 0x4e40b3
push 0
push 0x605c30
call fcn.004f9dd0
add esp, 8
mov dword [esi + 0xc], edx
mov ecx, eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x18]
test eax, eax
cmove ecx, eax
je 0x4e41ba
push 0x3d
lea eax, [esi + 0x78]
push eax
mov dword [esi + 0x18], ecx
call fcn.004f9d00
add esp, 8
lea eax, [esi + 0x78]
push eax
call fcn.004f9ce0
mov ecx, dword [esi + 0x18]
add esp, 4
xor edi, edi
cmp dword [esi + 0xc], edx
mov ebx, edx
jae 0x4e41be
jmp 0x4e41e6
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x118], 4
mov dword [esi + 0x11c], 0
mov dword [esi + 0x120], 0
lea ecx, [esi + 0x78]
push dword [ebp + 0x10]
lea eax, [esi + 0x118]
push eax
push edi
push 2
push 0
call fcn.004eb720
add esp, 0x14
lea ecx, [esi + 0x7c]
mov edi, dword [esi + 0x78]
movzx ebx, byte [esi + 0x8c]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movzx eax, word [ecx + 0x11]
movzx edx, byte [ecx + 0x13]
cmp edi, 9
movsd qword [esi + 0x58], xmm0
movsd qword [esi + 0x60], xmm1
mov word [esi + 0x170], ax
mov byte [esi + 0x172], dl
je 0x4e4f84
movsd xmm0, qword [ecx + 0x14]
movsd xmm1, qword [ecx + 0x1c]
mov ecx, dword [esi + 4]
lea eax, [ecx - 6]
movsd qword [esi + 0x168], xmm1
movsd qword [esi + 0x160], xmm0
cmp eax, 2
lea eax, [esi + 0x17c]
jb 0x4e42c6
cmp ecx, 4
je 0x4e4281
test ecx, ecx
lea eax, [esi + 0x17c]
je 0x4e42c6
jmp 0x4e42da
xor edi, edi
jmp 0x4e41e6
push ebx
push eax
push ecx
call fcn.00588c8a
mov ecx, dword [esi + 0x18]
add esp, 0xc
test eax, eax
jne 0x4e41e6
mov eax, dword [esi + 0xc]
sub eax, ebx
add ebx, ecx
push eax
push ebx
call fcn.004f9dd0
mov ecx, dword [esi + 0x18]
add esp, 8
mov edi, eax
mov ebx, dword [esi + 0xc]
xor eax, eax
test edi, edi
mov dword [esi + 0x18], edx
cmovne ecx, edi
setne al
mov edi, ecx
lea ecx, [esi + 0x78]
cmovne ebx, edx
mov edx, dword [ebp + 0xc]
push eax
push dword [ebp + 0x10]
push dword [esi + 8]
push ebx
push edi
push 0
call fcn.004ea070
add esp, 0x18
lea edx, [esi + 0x7c]
mov ebx, dword [esi + 0x78]
movzx eax, byte [esi + 0x8c]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movzx ecx, word [edx + 0x11]
mov ah, byte [edx + 0x13]
cmp ebx, 9
movsd qword [esi + 0x58], xmm0
movsd qword [esi + 0x60], xmm1
mov word [esi + 0x170], cx
mov byte [esi + 0x172], ah
je 0x4e4fc8
movq xmm0, qword [edx + 0x14]
movq xmm1, qword [edx + 0x1c]
cmp ebx, 3
movq qword [esi + 0x120], xmm1
movq qword [esi + 0x118], xmm0
jne 0x4e500f
mov al, 1
mov dword [esi + 0xcc], eax
jmp 0x4e3f83
mov eax, dword [esi + 0x180]
test eax, eax
je 0x4e429c
push 1
push eax
push dword [esi + 0x17c]
call fcn.00452e30
add esp, 0xc
mov ecx, dword [esi + 0x18c]
lea eax, [esi + 0x194]
test ecx, ecx
je 0x4e42c6
shl ecx, 3
push 8
push ecx
push dword [esi + 0x188]
call fcn.00452e30
add esp, 0xc
lea eax, [esi + 0x194]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4e42da
push 1
push ecx
push dword [eax]
call fcn.00452e30
add esp, 0xc
movsd xmm0, qword [esi + 0x58]
movsd xmm1, qword [esi + 0x60]
movzx eax, byte [esi + 0x172]
lea ecx, [esi + 0x17c]
mov dword [esi + 0x178], edi
mov dword [esi + 4], edi
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov byte [esi + 0x18c], bl
mov byte [ecx + 0x13], al
movzx eax, word [esi + 0x170]
movq xmm0, qword [esi + 0x160]
movq xmm1, qword [esi + 0x168]
mov word [ecx + 0x11], ax
mov al, 1
movq qword [ecx + 0x1c], xmm1
movq qword [ecx + 0x14], xmm0
mov dword [esi + 0xcc], eax
jmp 0x4e3f83
mov edx, dword [ecx + 0x12c]
test edx, edx
je 0x4e43aa
mov ecx, dword [ecx + 0x124]
imul edx, edx, 0x160
add edx, ecx
mov dword [esi + 8], edx
mov edx, dword [ecx + 0xf0]
cmp edx, 0x110000
je 0x4e436f
cmp edx, eax
je 0x4e4428
mov ebx, dword [ecx + 0x114]
mov edx, dword [ecx + 0x10c]
lea edi, [ecx + 0x160]
shl ebx, 3
nop word cs:[eax + eax]
nop
test ebx, ebx
je 0x4e43a3
add ebx, 0xfffffff8
cmp dword [edx], eax
lea edx, [edx + 8]
jne 0x4e4390
jmp 0x4e4428
cmp edi, dword [esi + 8]
mov ecx, edi
jne 0x4e4359
lea eax, [esi + 0x278]
mov dword [esi + 0x78], 0x605f58
mov dword [esi + 0x7c], 1
mov dword [esi + 0x88], 0
mov dword [esi + 0x2b8], 0x35
mov dword [esi + 0x118], eax
lea eax, [esi + 0x118]
mov dword [esi + 0x11c], fcn.00541e30
mov dword [esi + 0x80], eax
lea eax, [esi + 0x78]
mov dword [esi + 0x84], 1
push eax
lea eax, [esi + 0x58]
push eax
call fcn.00538850
add esp, 8
movsd xmm0, qword [esi + 0x58]
mov eax, dword [esi + 0x60]
movsd qword [esi + 0x100], xmm0
mov edx, 7
mov dword [esi + 0x108], eax
jmp 0x4e4547
mov edx, dword [ecx + 0xfc]
mov eax, dword [ecx + 0xf4]
mov dword [esi + 0x2b8], 0x35
lea ecx, [esi + 0x78]
mov dword [esi + 8], edx
mov edx, dword [ebp + 0xc]
mov dword [esi + 0xc], eax
push dword [ebp + 0x10]
call fcn.004eb4b0
add esp, 4
movzx eax, byte [esi + 0x88]
cmp al, 0x16
jne 0x4e4510
mov eax, dword [ebp + 0xc]
inc dword [eax + 0xc]
push 0
push dword [esi + 8]
call fcn.0041bbf0
add esp, 8
mov edi, eax
mov ebx, edx
push dword [esi + 8]
push dword [esi + 0xc]
push eax
call fcn.005885b0
add esp, 0xc
mov eax, dword [esi + 8]
mov dword [esi + 0x78], edi
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x80], eax
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x4e44b0
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 1
mov dword [ecx + 4], eax
lea eax, [esi + 0x258]
mov dword [esi + 0x2b8], 0x36
push eax
call fcn.004f9370
add esp, 4
mov edi, dword [esi + 0x110]
test al, al
je 0x4e44dc
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
mov eax, dword [esi + 0x80]
movsd xmm0, qword [esi + 0x78]
mov ecx, dword [esi + 0x178]
xor edx, edx
mov dword [esi + 0x108], eax
movsd qword [esi + 0x100], xmm0
lea eax, [ecx - 6]
cmp eax, 2
lea eax, [esi + 0x17c]
jae 0x4e4562
jmp 0x4e4d99
lea edx, [esi + 0x7c]
movsd xmm0, qword [esi + 0x78]
movq xmm1, qword [esi + 0x80]
mov byte [esi + 0x28], al
movzx ecx, word [edx + 0xd]
movzx edx, byte [edx + 0xf]
movq qword [esi + 0x108], xmm1
movsd qword [esi + 0x100], xmm0
mov byte [esi + 0x70], dl
mov word [esi + 0x6e], cx
mov edx, 9
mov edi, dword [esi + 0x110]
mov ecx, dword [esi + 4]
lea eax, [ecx - 6]
cmp eax, 2
lea eax, [esi + 0x17c]
jb 0x4e4d99
cmp ecx, 4
je 0x4e4d4c
test ecx, ecx
lea eax, [esi + 0x17c]
je 0x4e4d99
jmp 0x4e4db1
mov edi, 1
push ebx
push dword [esi + 0xc]
push edi
call fcn.005885b0
add esp, 0xc
mov dword [esi + 0x78], 7
mov dword [esi + 0x7c], edi
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], ebx
lea edx, [esi + 0x7c]
mov eax, dword [esi + 0x78]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov ecx, dword [edx + 0x10]
cmp eax, 9
movsd qword [esi + 0xe0], xmm0
movsd qword [esi + 0xe8], xmm1
mov dword [esi + 0xf0], ecx
je 0x4e701e
movsd xmm0, qword [edx + 0x14]
movq xmm1, qword [edx + 0x1c]
lea edx, [esi + 0x17c]
mov ecx, dword [esi + 0xf0]
movq xmm2, qword [esi + 0xe8]
cmp eax, 5
movsd qword [edx + 0x14], xmm0
movq xmm0, qword [esi + 0xe0]
movq qword [edx + 0x1c], xmm1
mov dword [edx + 0x10], ecx
movq qword [edx + 8], xmm2
movq qword [edx], xmm0
mov dword [esi + 0x178], eax
jne 0x4e51c5
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0x20]
xor eax, 1
or eax, dword [esi + 0x74]
je 0x4e50c6
lea eax, [edi + 1]
cmp eax, ecx
mov dword [esi + 0x210], eax
jne 0x4e4750
mov eax, dword [esi + 0x38]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x4e4750
mov edx, dword [ecx + 0x20]
imul edi, eax, 0x150
mov dword [esi + 0x44], ecx
add edi, edx
mov dword [esi + 0x18], edi
jmp 0x4e4682
cmp eax, ecx
jne 0x4e46e5
add edx, 0x150
cmp edx, edi
je 0x4e4750
cmp dword [edx + 0x50], 0
jne 0x4e4674
cmp dword [edx + 0x88], 0x110000
jne 0x4e4674
mov dword [esi + 8], edx
lea eax, [edx + 0x144]
mov dword [esi + 0x2b8], 5
push 1
mov dword [esi + 4], eax
push eax
call fcn.004af9c0
add esp, 8
mov byte [esi + 0xc], al
push 2
push dword [esi + 4]
call fcn.004af9c0
add esp, 8
movzx ecx, byte [esi + 0xc]
mov edx, dword [esi + 8]
mov edi, dword [esi + 0x18]
or cl, al
cmp cl, 1
mov ecx, dword [esi + 0x50]
jne 0x4e4674
mov eax, dword [edx + 0x20]
test eax, eax
je 0x4e4670
mov eax, dword [edx + 0x24]
jmp 0x4e4670
mov ecx, dword [esi + 0x44]
xor ebx, ebx
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x4e4750
mov ecx, dword [ecx + 0x20]
imul eax, eax, 0x150
mov edi, 0x110000
nop
mov edx, dword [ecx + 0x88]
xor edx, edi
or edx, dword [ecx + 0x50]
cmove ebx, ecx
add ecx, 0x150
add eax, 0xfffffeb0
jne 0x4e4700
test ebx, ebx
mov dword [esi + 0x2b8], 5
je 0x4e4750
add ebx, 0x144
push 0xf
push ebx
call fcn.004af9c0
add esp, 8
xor al, 1
mov dword [esi + 0xc], eax
jmp 0x4e4757
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0x38]
mov dword [esi + 0x2b8], 5
mov eax, dword [eax]
mov dword [esi + 4], eax
add eax, 0xc8
push 5
mov dword [esi + 8], eax
push eax
call fcn.004c2a10
add esp, 8
mov ecx, eax
mov al, 1
test cl, cl
jne 0x4e4797
mov eax, dword [esi + 4]
add eax, 0xd0
push 5
push eax
call fcn.004c2a10
add esp, 8
mov ecx, dword [esi + 0x210]
mov ebx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x50]
sete cl
test bl, 1
sete dl
and cl, al
mov eax, dword [esi + 0xc]
and cl, dl
or al, cl
je 0x4e4970
lea eax, [ebp + 0x18]
push eax
push dword [ebp + 0x14]
lea eax, [esi + 0x78]
push eax
call fcn.004f8840
add esp, 0xc
cmp dword [esi + 0x78], 0
je 0x4e49c4
lea ecx, [esi + 0x7c]
mov ebx, dword [esi + 4]
mov edi, dword [esi + 0x20]
mov dl, 1
mov eax, dword [ecx + 0x10]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov dword [esi + 0x188], eax
movq qword [esi + 0x180], xmm1
movq qword [esi + 0x178], xmm0
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x4e4a30
mov ecx, dword [ebx + 0x20]
imul eax, eax, 0x150
add ecx, 0x20
jmp 0x4e4831
add ecx, 0x150
add eax, 0xfffffeb0
je 0x4e4a30
cmp dword [ecx + 0x30], 0
jne 0x4e4820
cmp dword [ecx + 0x68], 0x110000
jne 0x4e4820
cmp dword [ecx], 0
je 0x4e4820
cmp dword [ecx + 4], edi
jne 0x4e4820
mov dword [esi + 0x18], ecx
mov dword [esi + 0x2b8], 0x21
push 2
push dword [esi + 8]
call fcn.004c2a10
add esp, 8
mov ecx, dword [esi + 4]
test al, al
lea eax, [esi + 0x128]
jne 0x4e49f2
lea eax, [ecx + 0xd0]
push 2
mov dword [esi + 0x210], eax
push eax
call fcn.004c2a10
add esp, 8
mov ecx, dword [esi + 4]
test al, al
lea eax, [esi + 0x128]
jne 0x4e49f2
mov eax, dword [esi + 0x18]
mov edi, dword [ecx + 0x20]
imul ebx, dword [ecx + 0x28], 0x150
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esi + 0x18], eax
lea eax, [edi - 0xc]
mov dword [esi + 0xc], edx
nop dword [eax]
test ebx, ebx
je 0x4e7cca
mov ecx, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
add eax, 0x150
add ebx, 0xfffffeb0
add edi, 0x150
xor ecx, dword [esi + 0xc]
xor edx, dword [esi + 0x18]
or edx, ecx
jne 0x4e48c0
mov dword [esi + 0x2b8], 0x21
push 0xc
push eax
call fcn.004af9c0
add esp, 8
test al, al
lea eax, [esi + 0x128]
jne 0x4e49f2
push 3
push dword [esi + 8]
call fcn.004c2a10
add esp, 8
test al, al
jne 0x4e4931
push 3
push dword [esi + 0x210]
call fcn.004c2a10
add esp, 8
test al, al
je 0x4e494e
lea eax, [esi + 0x178]
push eax
call fcn.004f8b50
add esp, 4
test al, al
lea eax, [esi + 0x128]
jne 0x4e49f2
lea eax, [esi + 0x178]
push eax
call fcn.004f8e40
add esp, 4
test al, al
je 0x4e49d1
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 4]
mov dl, 1
jmp 0x4e4a30
test bl, 1
jne 0x4e4980
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 4]
jmp 0x4e4a5c
push 5
push dword [esi + 8]
call fcn.004c2a10
add esp, 8
mov ecx, eax
mov al, 1
test cl, cl
jne 0x4e49a8
mov eax, dword [esi + 4]
add eax, 0xd0
push 5
push eax
call fcn.004c2a10
add esp, 8
test al, al
mov eax, dword [esi + 0x50]
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov ebx, dword [esi + 4]
cmovne edi, eax
cmp ecx, dword [esi + 0x68]
cmovne edi, eax
jmp 0x4e4a5c
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 4]
mov dl, 1
jmp 0x4e4a57
lea eax, [esi + 0x178]
push eax
call fcn.004f90d0
add esp, 4
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 4]
test al, al
lea eax, [esi + 0x128]
mov dl, 1
jne 0x4e4a30
lea ecx, [esi + 0x178]
push ecx
push eax
call fcn.004f9200
add esp, 8
xor eax, eax
cmp byte [esi + 0xcc], 0
mov ecx, dword [ebp + 0xc]
lea edx, [esi + 0x128]
setne al
push eax
call fcn.004e8e70
add esp, 4
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 4]
test eax, eax
setne dl
nop dword [eax + eax]
mov eax, dword [esi + 0x180]
test eax, eax
je 0x4e4a57
mov ecx, dword [esi + 0x184]
test ecx, ecx
je 0x4e4a57
push 1
push ecx
push eax
mov byte [esi + 0xc], dl
call fcn.00452e30
movzx edx, byte [esi + 0xc]
add esp, 0xc
movzx eax, dl
add edi, eax
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x2c]
shl ecx, 2
add eax, 0x10
lea ecx, [ecx + ecx*4]
nop dword [eax + eax]
test ecx, ecx
je 0x4e52b9
mov edx, eax
add ecx, 0xffffffec
add eax, 0x14
cmp byte [edx], 4
jne 0x4e4a70
cmp dword [edx - 0xc], edi
jne 0x4e4a70
mov eax, dword [eax - 0x24]
mov ecx, dword [ebx + 0x28]
mov dword [esi + 0x2b8], 5
cmp eax, ecx
jae 0x4e7998
mov ecx, dword [ebx + 0x20]
imul eax, eax, 0x150
mov dword [esi + 0x20], edi
mov dword [esi + 0x210], eax
lea eax, [ecx + eax + 0x144]
mov dword [esi + 0xc], ecx
push 0xf
mov dword [esi + 0x18], eax
push eax
call fcn.004af9c0
add esp, 8
test byte [esi + 0x3c], 1
sete cl
test cl, al
jne 0x4e62cb
push 6
push dword [esi + 8]
call fcn.004c2a10
add esp, 8
mov ecx, eax
mov al, 1
test cl, cl
jne 0x4e4b03
mov eax, dword [esi + 4]
add eax, 0xd0
push 6
push eax
call fcn.004c2a10
add esp, 8
mov ecx, dword [esi + 0x210]
mov edx, dword [esi + 0x20]
movzx ebx, byte [esi + 0x3c]
mov edi, 1
add dword [esi + 0xc], ecx
cmp edx, dword [esi + 0x50]
mov edx, ebx
cmove edx, edi
test al, al
mov eax, dword [ebp + 0x10]
cmove edx, ebx
mov dword [esi + 0x3c], edx
cmp byte [eax + 0x4c], 4
je 0x4e4b60
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + 0x38]
mov edx, dword [esi + 0xc]
mov ecx, dword [ecx + 0x3c]
xor eax, dword [edx + 0x38]
xor ecx, dword [edx + 0x3c]
or eax, ecx
mov eax, dword [ebp + 0x10]
jne 0x4e4b60
push 1
push dword [esi + 0x18]
call fcn.004af9c0
add esp, 8
test al, al
mov eax, dword [ebp + 0x10]
jne 0x4e4b81
nop
mov edx, dword [ebp + 0xc]
lea ecx, [esi + 0x78]
push eax
call fcn.004eb4b0
add esp, 4
movzx eax, byte [esi + 0x88]
cmp al, 0x16
jne 0x4e65bf
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x4c], 4
jne 0x4e4bb2
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x3c]
mov dword [edx + 0x38], eax
mov dword [edx + 0x3c], ecx
mov dword [edx + 0x40], 4
mov dword [edx + 0x44], 0
mov dword [edx + 0x48], 0
mov byte [edx + 0x4c], 2
lea eax, [esi + 0x1e8]
push eax
call fcn.004f91e0
add esp, 4
mov edi, edx
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x3c]
and cl, 1
movzx ebx, cl
lea ecx, [esi + 0x178]
push dword [esi + 0x254]
push ebx
push edi
push eax
push dword [esi + 0xc]
call fcn.004ea9a0
add esp, 0x14
cmp dword [esi + 0x178], 9
je 0x4e4cb6
movq xmm0, qword [esi + 0x178]
movsd xmm2, qword [esi + 0x198]
movq xmm1, qword [esi + 0x180]
movq xmm3, qword [esi + 0x190]
lea edx, [esi + 0x7c]
movq qword [esi + 0x78], xmm0
movsd qword [esi + 0x98], xmm2
movq xmm2, qword [esi + 0x188]
movq qword [esi + 0x90], xmm3
movq qword [esi + 0x80], xmm1
mov ecx, dword [esi + 0x78]
movq qword [esi + 0x88], xmm2
lea eax, [ecx - 6]
cmp eax, 2
mov eax, edx
jb 0x4e4ca2
cmp ecx, 4
je 0x4e4c60
test ecx, ecx
mov eax, edx
je 0x4e4ca2
jmp 0x4e4cb6
mov eax, dword [esi + 0x80]
test eax, eax
je 0x4e4c78
push 1
push eax
push dword [esi + 0x7c]
call fcn.00452e30
add esp, 0xc
mov ecx, dword [esi + 0x8c]
lea eax, [esi + 0x94]
test ecx, ecx
je 0x4e4ca2
shl ecx, 3
push 8
push ecx
push dword [esi + 0x88]
call fcn.00452e30
add esp, 0xc
lea eax, [esi + 0x94]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4e4cb6
push 1
push ecx
push dword [eax]
call fcn.00452e30
add esp, 0xc
push 1
push dword [esi + 0x18]
call fcn.004af9c0
add esp, 8
mov byte [esi + 4], al
push 2
push dword [esi + 0x18]
call fcn.004af9c0
add esp, 8
movzx ecx, byte [esi + 4]
or cl, al
cmp cl, 1
jne 0x4e4d0a
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x20]
mov dword [esi + 0x74], 0
mov dword [esi + 0x2c], 2
mov eax, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x3c]
mov dword [esi + 0x30], eax
mov dword [esi + 0x54], ecx
mov eax, dword [esi + 0x1f0]
test eax, eax
jne 0x4e4d26
jmp 0x4e4d3c
mov edi, dword [esi + 0x20]
mov dword [esi + 0x2c], 0
mov dword [esi + 0x74], 0
inc edi
mov eax, dword [esi + 0x1f0]
test eax, eax
je 0x4e4d3c
mov ecx, dword [esi + 0x1f4]
test ecx, ecx
je 0x4e4d3c
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov al, 1
mov dword [esi + 0x20], edi
mov dword [esi + 0xcc], eax
jmp 0x4e31d5
mov eax, dword [esi + 0x180]
test eax, eax
je 0x4e4d6b
push 1
push eax
push dword [esi + 0x17c]
mov ebx, edx
call fcn.00452e30
mov edx, ebx
add esp, 0xc
mov ecx, dword [esi + 0x18c]
lea eax, [esi + 0x194]
test ecx, ecx
je 0x4e4d99
shl ecx, 3
push 8
push ecx
push dword [esi + 0x188]
mov ebx, edx
call fcn.00452e30
mov edx, ebx
add esp, 0xc
lea eax, [esi + 0x194]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4e4db1
push 1
push ecx
push dword [eax]
mov ebx, edx
call fcn.00452e30
mov edx, ebx
add esp, 0xc
movsd xmm0, qword [esi + 0x100]
movsd xmm1, qword [esi + 0x108]
movzx eax, word [esi + 0x6e]
movzx ecx, byte [esi + 0x70]
cmp edx, 9
movsd qword [esi + 0x228], xmm0
movsd qword [esi + 0x230], xmm1
mov word [esi + 0x1d0], ax
mov byte [esi + 0x1d2], cl
je 0x4e795b
movsd xmm1, qword [esi + 0x208]
lea ecx, [esi + 0x12c]
movq xmm0, qword [esi + 0x200]
movq xmm2, qword [esi + 0x228]
movzx eax, byte [esi + 0x1d2]
movzx ebx, byte [esi + 0x28]
movsd qword [ecx + 0x1c], xmm1
movq xmm1, qword [esi + 0x230]
movq qword [ecx + 0x14], xmm0
movq qword [ecx], xmm2
movq qword [ecx + 8], xmm1
mov byte [ecx + 0x13], al
movzx eax, word [esi + 0x1d0]
mov word [ecx + 0x11], ax
mov ecx, dword [edx*4 + 0x4e8e2c]
mov dword [esi + 0x128], edx
mov byte [esi + 0x13c], bl
add ecx, edi
jmp ecx
lea ecx, [esi + 0x17c]
movzx eax, byte [esi + 0x18c]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movzx edi, word [ecx + 0x11]
movzx edx, byte [ecx + 0x13]
mov byte [esi + 0x28], al
movsd qword [esi + 0x108], xmm1
movsd qword [esi + 0x100], xmm0
mov word [esi + 0x6e], di
mov byte [esi + 0x70], dl
movsd xmm0, qword [ecx + 0x14]
movq xmm1, qword [ecx + 0x1c]
mov edx, dword [esi + 4]
mov edi, dword [esi + 0x110]
movq qword [esi + 0x208], xmm1
movsd qword [esi + 0x200], xmm0
jmp 0x4e4db1
push eax
push ecx
lea eax, [esi + 0x58]
push eax
call fcn.00538ea0
add esp, 0xc
lea eax, [esi + 0x58]
mov dword [esi + 0x78], 0x605f58
mov dword [esi + 0x7c], 1
mov dword [esi + 0x88], 0
mov dword [esi + 0x2b8], 0x37
mov dword [esi + 0x170], eax
lea eax, [esi + 0x170]
mov dword [esi + 0x174], 0x420d50
mov dword [esi + 0x80], eax
lea eax, [esi + 0x78]
mov dword [esi + 0x84], 1
push eax
lea eax, [esi + 0x118]
push eax
call fcn.00538850
add esp, 8
mov eax, dword [esi + 0x58]
test eax, eax
je 0x4e4f71
mov ecx, dword [esi + 0x5c]
test ecx, ecx
je 0x4e4f71
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
movsd xmm0, qword [esi + 0x118]
mov eax, dword [esi + 0x120]
jmp 0x4e4410
movzx eax, word [esi + 0x170]
movsd xmm0, qword [esi + 0x58]
movq xmm1, qword [esi + 0x60]
mov edx, 9
mov byte [esi + 0x28], bl
mov word [esi + 0x6e], ax
movzx eax, byte [esi + 0x172]
movsd qword [esi + 0x100], xmm0
movq qword [esi + 0x108], xmm1
mov byte [esi + 0x70], al
mov al, 1
mov dword [esi + 0xcc], eax
jmp 0x4e4547
movzx ecx, word [esi + 0x170]
movsd xmm0, qword [esi + 0x58]
movq xmm1, qword [esi + 0x60]
mov edi, dword [esi + 0x110]
mov byte [esi + 0x28], al
mov edx, ebx
mov word [esi + 0x6e], cx
movzx ecx, byte [esi + 0x172]
movsd qword [esi + 0x100], xmm0
movq qword [esi + 0x108], xmm1
mov byte [esi + 0x70], cl
mov cl, 1
mov dword [esi + 0xcc], ecx
jmp 0x4e454d
movzx ecx, word [esi + 0x170]
movsd xmm0, qword [esi + 0x58]
movsd xmm1, qword [esi + 0x60]
mov edx, ebx
mov byte [esi + 0x28], al
mov word [esi + 0x6e], cx
movzx ecx, byte [esi + 0x172]
movsd qword [esi + 0x108], xmm1
movsd qword [esi + 0x100], xmm0
movsd xmm0, qword [esi + 0x118]
movq xmm1, qword [esi + 0x120]
mov byte [esi + 0x70], cl
mov cl, 1
movsd qword [esi + 0x200], xmm0
movq qword [esi + 0x208], xmm1
mov dword [esi + 0xcc], ecx
jmp 0x4e4547
mov ecx, dword [esi + 0x40]
neg edi
shl edi, 4
mov eax, dword [ecx + edi - 8]
mov ecx, dword [ecx + edi - 4]
mov dword [esi + 0x2b8], 5
push ecx
push eax
lea eax, [ebp + 0x18]
push eax
push dword [ebp + 0x14]
call fcn.004f8990
add esp, 0x10
mov eax, dword [esi + 0x1f0]
test eax, eax
je 0x4e50bb
mov ecx, dword [esi + 0x1f4]
test ecx, ecx
je 0x4e50bb
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x20]
jmp 0x4e31c5
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x4c], 4
jne 0x4e50f4
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x54]
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], edx
mov dword [eax + 0x40], 4
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0
mov byte [eax + 0x4c], 3
mov eax, dword [esi + 0x38]
mov ecx, 0xfffffeb0
mov eax, dword [eax]
mov edi, dword [eax + 0x20]
imul eax, dword [eax + 0x28], 0x150
add edi, ecx
nop word [eax + eax]
test eax, eax
je 0x4e7ced
mov ecx, dword [edi + 0x188]
mov edx, dword [edi + 0x18c]
add edi, 0x150
add eax, 0xfffffeb0
xor ecx, dword [esi + 0x30]
xor edx, dword [esi + 0x54]
or edx, ecx
jne 0x4e5110
lea eax, [esi + 0x1e8]
mov dword [esi + 4], edi
mov dword [esi + 0x2b8], 5
push eax
call fcn.004f91e0
add esp, 4
mov edi, edx
mov edx, dword [ebp + 0xc]
lea ecx, [esi + 0x178]
push dword [esi + 0x254]
push 0
push edi
push eax
push dword [esi + 4]
call fcn.004ea9a0
add esp, 0x14
mov eax, dword [esi + 0x178]
cmp eax, 9
jne 0x4e51f9
push dword [esi + 4]
push dword [ebp + 0x10]
call fcn.004c2500
add esp, 8
test al, al
mov eax, dword [esi + 0x250]
mov ecx, dword [esi + 0x24c]
mov dword [esi + 0x2c], 0
mov dword [esi + 0x74], 0
je 0x4e5273
mov ecx, dword [esi + 4]
add ecx, 0x38
jmp 0x4e5260
mov al, 1
mov dword [esi + 0x3c], eax
jmp 0x4e509b
mov eax, dword [eax*4 + 0x4e8e08]
add eax, dword [esi + 0x110]
jmp eax
lea edx, [esi + 0x17c]
lea edi, [esi + 0x7c]
cmp eax, 1
movsd xmm1, qword [edx + 0x10]
mov ecx, dword [edx + 0x20]
movq xmm0, qword [edx + 0x18]
movq xmm2, qword [edx]
movsd qword [edi + 0x10], xmm1
movq xmm1, qword [edx + 8]
mov dword [edi + 0x20], ecx
lea ecx, [esi + 0x80]
movq qword [edi + 0x18], xmm0
movq qword [edi], xmm2
movq qword [edi + 8], xmm1
mov dword [esi + 0x78], eax
je 0x4e5260
cmp eax, 2
mov eax, dword [esi + 0x250]
mov ecx, dword [esi + 0x24c]
mov dword [esi + 0x2c], 0
mov dword [esi + 0x74], 0
je 0x4e5273
jmp 0x4e7fe2
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x74], 0
mov dword [esi + 0x2c], 1
mov dword [esi + 0x250], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x24c], ecx
mov dword [esi + 0x54], ecx
jmp 0x4e509b
mov dword [esi + 0x2b8], 5
push 0xc
push dword [esi + 8]
call fcn.004c2a10
add esp, 8
test al, al
jne 0x4e52ef
mov eax, dword [esi + 4]
add eax, 0xd0
push 0xc
push eax
call fcn.004c2a10
add esp, 8
test al, al
je 0x4e547d
push 0xe
push dword [esi + 8]
call fcn.004c2a10
add esp, 8
test al, al
jne 0x4e531c
mov eax, dword [esi + 4]
add eax, 0xd0
push 0xe
push eax
call fcn.004c2a10
add esp, 8
mov ecx, 0x603204
test al, al
je 0x4e5321
mov ecx, 0x6031f8
mov edi, dword [ecx]
cmp edi, 4
jb 0x4e533a
mov eax, dword [ecx + 8]
mov dword [esi + 0x10], edi
push dword [ecx + 4]
call dword [eax + 0x20]
add esp, 4
mov edi, dword [esi + 0x10]
mov dword [esi + 0x100], edi
mov dword [esi + 0x104], eax
mov dword [esi + 0x108], edx
lea eax, [esi + 0x1e8]
mov dword [esi + 0x60], edx
mov dword [esi + 0x2b8], 0xb
movq xmm0, qword [esi + 0x100]
movq qword [esi + 0x58], xmm0
push eax
lea eax, [esi + 0x128]
push eax
call fcn.004f9200
add esp, 8
cmp dword [esi + 0x128], 0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
je 0x4e542a
lea ecx, [esi + 0x78]
push eax
call fcn.004eb4b0
add esp, 4
cmp byte [esi + 0x88], 0x16
je 0x4e53ac
lea ecx, [esi + 0x78]
call fcn.00403120
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0xe0], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0xe4], 0
push 0
push 0x605c30
lea eax, [esi + 0xe0]
push eax
lea eax, [esi + 0x178]
push eax
call fcn.004dee10
add esp, 0x10
lea eax, [esi + 0x178]
push eax
push dword [esi + 0x10]
lea eax, [esi + 0x78]
push eax
call fcn.004bb0b0
add esp, 0xc
mov eax, dword [esi + 0x88]
mov ecx, dword [ebp + 8]
movq xmm0, qword [esi + 0x78]
movq xmm1, qword [esi + 0x80]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x58]
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
cmp eax, 4
jae 0x4e5d11
jmp 0x4e712c
mov ecx, dword [esi + 0x130]
mov edi, dword [esi + 0x12c]
test ecx, ecx
je 0x4e5621
setns al
js 0x4e7d97
movzx edx, al
movzx eax, byte [0x636fbd]
mov dword [esi + 0x10], edx
push edx
push ecx
mov ebx, ecx
call fcn.00452e20
mov ecx, ebx
add esp, 8
mov ebx, eax
test eax, eax
jne 0x4e5626
push ecx
push dword [esi + 0x10]
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x100], 5
mov byte [esi + 0x17], 0
mov dword [esi + 0x2b8], 9
lea ecx, [esi + 0x78]
push dword [ebp + 0x10]
call fcn.004eb4b0
add esp, 4
cmp byte [esi + 0x88], 0x16
je 0x4e54bb
lea ecx, [esi + 0x78]
mov byte [esi + 0x17], 0
call fcn.00403120
test byte [esi + 0x3c], 1
je 0x4e5597
lea eax, [esi + 0x1e8]
mov byte [esi + 0x17], 0
push eax
lea eax, [esi + 0x78]
push eax
call fcn.004f9200
add esp, 8
xor eax, eax
cmp byte [esi + 0xcc], 0
mov ecx, dword [ebp + 0xc]
mov byte [esi + 0x17], 0
lea edx, [esi + 0x78]
setne al
push eax
call fcn.004e8e70
add esp, 4
test eax, eax
je 0x4e5597
mov eax, dword [esi + 0x38]
mov byte [esi + 0x17], 0
mov eax, dword [eax]
mov dword [esi + 0x10], eax
lea eax, [esi + 0x1e8]
push eax
lea eax, [esi + 0x128]
push eax
call fcn.004f9250
add esp, 8
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
mov ebx, dword [esi + 0x130]
test eax, eax
mov edx, eax
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
cmove edx, ecx
test ebx, ebx
je 0x4e637d
setns al
mov dword [esi + 0xc], edx
js 0x4e7efb
movzx ecx, al
movzx eax, byte [0x636fbd]
mov dword [esi + 0x24], ecx
push ecx
push ebx
call fcn.00452e20
add esp, 8
mov edx, dword [esi + 0xc]
mov edi, eax
test eax, eax
jne 0x4e6382
mov dword [esi + 0x2b8], 0x1f
push ebx
push dword [esi + 0x24]
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
lea eax, [esi + 0x1e8]
mov byte [esi + 0x17], 0
push eax
lea eax, [esi + 0x128]
push eax
call fcn.004f9250
add esp, 8
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
mov edx, dword [esi + 0x130]
test eax, eax
mov edi, eax
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
cmove edi, ecx
test edx, edx
je 0x4e5d4f
setns al
js 0x4e7da1
movzx ecx, al
movzx eax, byte [0x636fbd]
mov dword [esi + 0x10], ecx
push ecx
push edx
mov ebx, edx
call fcn.00452e20
mov edx, ebx
add esp, 8
mov ebx, eax
test eax, eax
jne 0x4e5d54
mov dword [esi + 0x2b8], 0x1c
push edx
push dword [esi + 0x10]
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
mov ebx, 1
push ecx
push edi
push ebx
mov edi, ecx
call fcn.005885b0
add esp, 0xc
mov dword [esi + 0x1d4], ebx
mov dword [esi + 0x1d8], edi
mov dword [esi + 0x20], ebx
mov dword [esi + 0x10], edi
mov dword [esi + 0x1dc], edi
mov byte [esi + 0x37], 1
mov dword [esi + 0x2b8], 0xc
push 0
call fcn.00530e10
add esp, 4
test eax, eax
je 0x4e7d6e
movdqu xmm0, xmmword [eax]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
lea eax, [ebp + 0x18]
movdqu xmmword [esi + 0x178], xmm0
mov dword [esi + 0x188], 0x6039b0
mov dword [esi + 0x18c], 0
mov dword [esi + 0x190], 0
mov dword [esi + 0x194], 0
mov dword [esi + 0x198], 8
mov dword [esi + 0x19c], 0
mov dword [esi + 0x1a0], 0
mov dword [esi + 0x1a8], 0
mov byte [esi + 0x1c4], 4
mov byte [esi + 0x15], 0
mov byte [esi + 0x16], 1
mov dword [esi + 0x2b8], 0xd
push eax
push dword [ebp + 0x14]
call fcn.004f8ad0
add esp, 8
test al, al
jne 0x4e57c6
mov ecx, dword [esi + 0x178]
mov edx, dword [esi + 0x17c]
lea edi, [esi + 0x188]
push 0x1c9d3adb
push 0x639f298e
push dword [esi + 0x184]
push dword [esi + 0x180]
call fcn.004b3320
add esp, 0x10
mov byte [esi + 0x15], 0
mov byte [esi + 0x16], 1
push 0x1c9d3adb
push 0x639f298e
push eax
push edi
lea eax, [esi + 0x128]
push eax
call fcn.004c54f0
add esp, 0x14
mov byte [esi + 0x15], 0
mov byte [esi + 0x16], 1
push dword [esi + 4]
lea eax, [esi + 0x78]
push eax
call fcn.004b5bd0
add esp, 8
lea eax, [esi + 0x78]
mov byte [esi + 0x15], 0
mov byte [esi + 0x16], 1
push eax
lea eax, [esi + 0x128]
push eax
call fcn.004c4100
add esp, 8
movzx edx, byte [eax + 0x3d]
mov cl, 2
cmp dl, 3
je 0x4e57aa
movzx edx, dl
mov ecx, 2
cmovae ecx, edx
mov byte [eax + 0x3d], cl
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
mov byte [esi + 0x15], 0
mov byte [esi + 0x16], 1
push eax
call fcn.004b5de0
add esp, 4
lea eax, [ebp + 0x18]
mov byte [esi + 0x15], 0
mov byte [esi + 0x16], 1
push eax
push dword [ebp + 0x14]
call fcn.004f88e0
add esp, 8
mov dword [esi + 0x68], edx
mov edx, dword [esi + 0x58]
mov edi, dword [esi + 0x5c]
mov ecx, eax
mov dword [esi + 0x18], edx
mov edx, dword [esi + 0x60]
mov dword [esi + 0x50], edi
mov dword [esi + 0x3c], edx
cmp ecx, dword [esi + 0x68]
je 0x4e5961
nop dword [eax]
mov byte [esi + 0x15], 0
mov byte [esi + 0x16], 1
mov dword [esi + 0x2b8], 0xd
mov dword [esi + 8], ecx
push ecx
call fcn.00525d50
add esp, 4
mov edi, eax
test eax, eax
je 0x4e5961
mov ebx, edx
mov edx, dword [esi + 0x18]
mov eax, 0x6038d8
mov ecx, 0x603b0c
mov edx, dword [edx*4 + 0x4e8e50]
add edx, dword [esi + 0x110]
jmp edx
mov edx, dword [esi + 0x10]
test edx, edx
je 0x4e5a4f
mov ecx, dword [esi + 0x20]
xor ebx, ebx
mov eax, 0x811c9dc5
nop word cs:[eax + eax]
movzx edi, byte [ecx]
mov dword [esi + 0x10], edx
mov edx, 0x1b3
imul ebx, ebx, 0x1b3
inc ecx
xor edi, eax
mov eax, edi
shl edi, 8
mul edx
add edi, edx
mov edx, dword [esi + 0x10]
add ebx, edi
dec edx
jne 0x4e5980
xor eax, 0xff
mov edx, 0x1b3
imul ebx, ebx, 0x1b3
mov ecx, eax
mul edx
shl ecx, 8
mov dword [esi + 4], eax
add ecx, edx
add ebx, ecx
jmp 0x4e5a5b
mov cl, 1
xor eax, eax
mov dword [esi + 8], ecx
jmp 0x4e7358
mov ebx, 0x1c9d3adb
mov dword [esi + 4], 0x639f298e
movsd xmm1, qword [esi + 0x180]
mov eax, dword [esi + 0x1b8]
movsd xmm2, qword [esi + 0x190]
movq xmm0, qword [esi + 0x178]
mov ecx, dword [esi + 0x1bc]
mov edi, dword [esi + 0x1c0]
movsd qword [esi + 0x130], xmm1
movsd xmm1, qword [esi + 0x188]
mov dword [esi + 8], eax
movzx eax, byte [esi + 0x1c4]
movsd qword [esi + 0x140], xmm2
movq xmm2, qword [esi + 0x1a0]
movq qword [esi + 0x128], xmm0
movsd qword [esi + 0x138], xmm1
movsd xmm1, qword [esi + 0x198]
cmp al, 4
movq qword [esi + 0x150], xmm2
movsd qword [esi + 0x148], xmm1
movq xmm1, qword [esi + 0x1a8]
movq qword [esi + 0x158], xmm1
je 0x4e5b41
test edi, edi
mov dword [esi + 0xc], ebx
je 0x4e5b1f
mov eax, dword [esi + 8]
mov dword [esi + 0x10], ecx
lea ebx, [eax + 4]
jmp 0x4e5b06
add ebx, 0x10
dec edi
je 0x4e5b1f
mov eax, dword [ebx]
test eax, eax
je 0x4e5b00
push 1
push eax
push dword [ebx - 4]
call fcn.00452e30
mov ecx, dword [esi + 0x10]
add esp, 0xc
jmp 0x4e5b00
mov ebx, dword [esi + 0xc]
test ecx, ecx
je 0x4e5b41
shl ecx, 4
push 4
push ecx
push dword [esi + 8]
call fcn.00452e30
add esp, 0xc
mov dword [esi + 0x2b8], 0xd
mov eax, dword [esi + 4]
movq xmm0, qword [esi + 0x1d4]
movsd xmm1, qword [esi + 0x130]
mov dword [esi + 0x7c], ebx
movsd xmm2, qword [esi + 0x128]
mov byte [esi + 0x15], 1
mov byte [esi + 0x16], 0
mov dword [esi + 0x2b8], 0xd
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x1dc]
movq qword [esi + 0xb8], xmm0
mov dword [esi + 0xc0], eax
movsd qword [esi + 0x88], xmm1
movsd xmm1, qword [esi + 0x138]
movsd qword [esi + 0x80], xmm2
movsd xmm2, qword [esi + 0x140]
lea eax, [esi + 0x78]
movsd qword [esi + 0x90], xmm1
movsd xmm1, qword [esi + 0x148]
movsd qword [esi + 0x98], xmm2
movq xmm2, qword [esi + 0x150]
movsd qword [esi + 0xa0], xmm1
movq xmm1, qword [esi + 0x158]
movq qword [esi + 0xa8], xmm2
movq qword [esi + 0xb0], xmm1
push eax
push dword [ebp + 0x10]
call fcn.004c1a10
add esp, 8
mov edx, dword [ebp + 0xc]
mov byte [esi + 0x15], 1
mov byte [esi + 0x16], 0
lea ecx, [esi + 0x78]
push dword [ebp + 0x10]
call fcn.004eb4b0
add esp, 4
movzx eax, byte [esi + 0x88]
cmp al, 0x16
jne 0x4e5cd5
mov edx, dword [ebp + 0xc]
mov byte [esi + 0x15], 1
mov byte [esi + 0x16], 0
lea ecx, [esi + 0x78]
push dword [ebp + 0x10]
call fcn.004ece50
add esp, 4
movzx eax, byte [esi + 0x88]
cmp al, 0x16
jne 0x4e5cd5
mov eax, dword [esi + 0x38]
mov byte [esi + 0x15], 1
mov byte [esi + 0x16], 0
mov eax, dword [eax]
mov dword [esi + 0x10], eax
push eax
lea eax, [esi + 0x128]
push eax
call fcn.004adcc0
add esp, 8
mov eax, dword [esi + 0x10]
movq xmm0, qword [esi + 0x128]
mov dword [esi + 0x2b8], 0xf
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x130]
movq qword [esi + 0x7c], xmm0
mov dword [esi + 0x84], eax
push dword [ebp + 0x10]
push dword [esi + 0x54]
push dword [esi + 0x30]
push dword [esi + 0x74]
push dword [esi + 0x2c]
lea eax, [esi + 0x78]
push eax
push dword [ebp + 8]
call fcn.004c6ad0
add esp, 0x1c
lea ecx, [esi + 0x78]
mov byte [esi + 0x15], 1
mov byte [esi + 0x16], 0
mov dword [esi + 0x2b8], 0xd
call fcn.004e2bb0
mov eax, dword [esi + 0x18]
cmp eax, 4
jae 0x4e5d11
jmp 0x4e712c
movq xmm0, qword [esi + 0x78]
mov edx, dword [ebp + 8]
movq xmm1, qword [esi + 0x80]
movzx ecx, word [esi + 0x89]
mov ah, byte [esi + 0x8b]
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
mov word [edx + 0x11], cx
mov byte [edx + 0x13], ah
mov byte [edx + 0x10], al
mov eax, dword [esi + 0x18]
cmp eax, 4
jb 0x4e712c
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0x2b8], 0xa
mov dword [esi + 4], eax
push eax
mov dword [esi + 0x10], ecx
call dword [ecx]
add esp, 4
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4e712c
push dword [ecx + 8]
push eax
push dword [esi + 4]
call fcn.00452e30
add esp, 0xc
jmp 0x4e712c
mov ebx, 1
push edx
push edi
push ebx
mov edi, edx
call fcn.005885b0
add esp, 0xc
mov eax, dword [esi + 0x38]
mov dword [esi + 0xe0], ebx
mov dword [esi + 0xe4], edi
mov dword [esi + 0xe8], edi
mov dword [esi + 0x30], ebx
mov dword [esi + 0xc], edi
mov ecx, dword [eax]
mov eax, dword [ecx + 0x124]
mov dword [esi + 0x10], ecx
imul ecx, dword [ecx + 0x12c], 0x160
mov dword [esi + 0x78], 2
mov dword [esi + 0x8c], 2
mov dword [esi + 0x2b8], 0x1d
add ecx, eax
mov dword [esi + 0xa0], eax
lea eax, [esi + 0x78]
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xac], edi
push eax
lea eax, [esi + 0x178]
push eax
call fcn.004d53e0
add esp, 8
mov ecx, dword [esi + 0x178]
mov edx, dword [esi + 0x180]
lea eax, [esi + 0x228]
mov byte [esi + 0xd9], 1
mov dword [esi + 0x2b8], 0x1e
mov dword [esi + 0x78], eax
lea eax, [esi + 0x78]
push eax
mov dword [esi + 0x18], edx
push edx
mov dword [esi + 0x24], ecx
push ecx
call fcn.004f0300
add esp, 0xc
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x17c]
mov byte [esi + 0xd9], 0
lea ecx, [ecx + ecx*2]
mov dword [esi + 0x78], edx
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], edx
lea eax, [esi + 0x160]
lea ecx, [edx + ecx*8]
mov dword [esi + 0x84], ecx
lea ecx, [esi + 0x78]
push ecx
push eax
call fcn.004cce90
add esp, 8
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4e5e66
push 1
push eax
push dword [esi + 0x30]
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
test eax, eax
je 0x4e5e80
test ecx, ecx
je 0x4e5e80
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x168]
test eax, eax
je 0x4e5f4d
mov ecx, dword [esi + 0x160]
mov dword [esi + 0x18], eax
lea eax, [eax + eax*2]
mov dword [esi + 0x2b8], 0x14
lea eax, [ecx + eax*4]
push eax
mov dword [esi + 4], ecx
push ecx
lea eax, [esi + 0x118]
push eax
call fcn.004d4c60
add esp, 0xc
lea eax, [esi + 0x1e8]
mov dword [esi + 0x2b8], 0x17
push eax
lea eax, [esi + 0x1d4]
push eax
call fcn.004f9250
add esp, 8
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov ebx, dword [esi + 0x1dc]
test eax, eax
mov edx, eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x24], ecx
cmove edx, ecx
test ebx, ebx
je 0x4e609c
setns al
mov dword [esi + 8], edx
js 0x4e7e84
movzx ecx, al
movzx eax, byte [0x636fbd]
mov dword [esi + 0x30], ecx
push ecx
push ebx
call fcn.00452e20
add esp, 8
mov edx, dword [esi + 8]
mov edi, eax
test eax, eax
jne 0x4e60a1
mov dword [esi + 0x2b8], 0x18
push ebx
push dword [esi + 0x30]
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x28], 0
je 0x4e5f81
mov dword [esi + 0x2b8], 0x14
push eax
call fcn.004a9970
add esp, 4
test al, al
mov eax, dword [esi + 0x10]
je 0x4e647f
cmp dword [eax + 0x12c], 0
je 0x4e647f
lea eax, [esi + 0x1e8]
mov dword [esi + 0x2b8], 0x14
push eax
lea eax, [esi + 0x128]
push eax
call fcn.004f9250
add esp, 8
mov eax, dword [esi + 0x128]
mov dword [esi + 0x2b8], 0x15
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x12c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x130]
push 0
mov dword [esi + 4], eax
push eax
call fcn.0041bbf0
add esp, 8
mov dword [esi + 0x24], edx
mov ecx, dword [esi + 0xc]
mov edi, eax
mov ebx, dword [esi + 4]
mov eax, dword [esi + 8]
test ecx, ecx
cmovne eax, ecx
push ebx
push eax
push edi
call fcn.005885b0
add esp, 0xc
mov eax, dword [esi + 0x24]
mov dword [esi + 0xe0], edi
mov byte [esi + 0xdc], 1
mov dword [esi + 0x2b8], 0x16
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0xe8], ebx
mov eax, dword [eax]
mov dword [esi + 0x1d4], eax
mov dword [esi + 0x1d8], 0
push 0
push 0x605c30
lea eax, [esi + 0x1d4]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.004dee10
add esp, 0x10
lea eax, [esi + 0x78]
mov byte [esi + 0xdc], 0
push eax
lea eax, [esi + 0xe0]
push eax
push dword [esi + 0x10]
lea eax, [esi + 0x178]
push eax
call fcn.004ba770
add esp, 0x10
mov eax, dword [esi + 0x128]
test eax, eax
je 0x4e6088
mov ecx, dword [esi + 0x12c]
test ecx, ecx
je 0x4e6088
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x160]
mov ebx, dword [esi + 0x168]
mov dword [esi + 4], eax
jmp 0x4e627d
mov edi, 1
push ebx
push edx
push edi
call fcn.005885b0
add esp, 0xc
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x120]
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
mov byte [esi + 0x73], 0
mov dword [esi + 0x2b8], 0x19
push 4
push str._or_called__Option::unwrap____on_a__None__value
mov dword [esi + 0x30], ecx
push ecx
mov dword [esi + 8], eax
push eax
lea eax, [esi + 0x78]
push eax
call fcn.004c3510
add esp, 0x14
mov eax, dword [esi + 0x80]
movq xmm0, qword [esi + 0x78]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x10]
movq qword [esi + 0xe0], xmm0
mov ecx, dword [eax + 0x148]
test ecx, ecx
je 0x4e6166
add eax, 0x150
mov ebx, dword [eax]
test ebx, ebx
je 0x4e6177
setns al
mov dword [esi + 0x54], ecx
js 0x4e7e98
movzx ecx, al
movzx eax, byte [0x636fbd]
mov dword [esi + 0x68], ecx
push ecx
push ebx
call fcn.00452e20
add esp, 8
mov ecx, dword [esi + 0x54]
mov edi, eax
test eax, eax
jne 0x4e617c
mov byte [esi + 0x4f], 1
mov dword [esi + 0x2b8], 0x1a
push ebx
push dword [esi + 0x68]
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
mov ecx, dword [eax + 0xf4]
add eax, 0xfc
mov ebx, dword [eax]
test ebx, ebx
jne 0x4e611b
mov edi, 1
push ebx
push ecx
push edi
call fcn.005885b0
add esp, 0xc
mov eax, dword [esi + 0x10]
mov dword [esi + 0x128], edi
mov dword [esi + 0x12c], ebx
mov dword [esi + 0x130], ebx
mov byte [esi + 0xda], 0
mov byte [esi + 0xdb], 1
mov dword [esi + 0x2b8], 0x1b
mov dword [esi + 0x200], eax
mov dword [esi + 0x204], 0
lea eax, [esi + 0x200]
push 0
push 0x605c30
push eax
lea eax, [esi + 0x78]
push eax
call fcn.004dee10
add esp, 0x10
lea eax, [esi + 0x78]
mov byte [esi + 0xda], 1
mov byte [esi + 0xdb], 0
push eax
lea eax, [esi + 0x128]
push eax
lea eax, [esi + 0xe0]
push eax
lea eax, [esi + 0x58]
push eax
push dword [esi + 0x10]
lea eax, [esi + 0x178]
push eax
call fcn.004ba220
add esp, 0x18
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x24]
test eax, eax
je 0x4e622e
test ecx, ecx
je 0x4e622e
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov ebx, dword [esi + 0x30]
test ebx, ebx
je 0x4e625c
mov eax, dword [esi + 8]
lea edi, [eax + 4]
jmp 0x4e6246
add edi, 0xc
dec ebx
je 0x4e625c
mov eax, dword [edi]
test eax, eax
je 0x4e6240
push 1
push eax
push dword [edi - 4]
call fcn.00452e30
add esp, 0xc
jmp 0x4e6240
mov eax, dword [esi + 0x11c]
test eax, eax
je 0x4e627a
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 8]
call fcn.00452e30
add esp, 0xc
mov ebx, dword [esi + 0x18]
test ebx, ebx
je 0x4e62ac
mov ecx, dword [esi + 4]
lea edi, [ecx + 4]
jmp 0x4e6296
add edi, 0xc
dec ebx
je 0x4e62ac
mov eax, dword [edi]
test eax, eax
je 0x4e6290
push 1
push eax
push dword [edi - 4]
call fcn.00452e30
add esp, 0xc
jmp 0x4e6290
mov eax, dword [esi + 0x164]
test eax, eax
je 0x4e641b
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 4]
jmp 0x4e6413
mov edx, dword [ebp + 0xc]
lea ecx, [esi + 0x78]
push dword [ebp + 0x10]
call fcn.004eb4b0
add esp, 4
cmp byte [esi + 0x88], 0x16
je 0x4e62ed
lea ecx, [esi + 0x78]
call fcn.00403120
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
lea eax, [esi + 0x1e8]
push eax
lea eax, [esi + 0xe0]
push eax
call fcn.004f9250
add esp, 8
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe4]
mov ebx, dword [esi + 0xe8]
test eax, eax
mov edx, eax
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
cmove edx, ecx
test ebx, ebx
je 0x4e668f
setns al
mov dword [esi + 0xc], edx
js 0x4e7f3d
movzx ecx, al
movzx eax, byte [0x636fbd]
mov dword [esi + 0x24], ecx
push ecx
push ebx
call fcn.00452e20
add esp, 8
mov edx, dword [esi + 0xc]
mov edi, eax
test eax, eax
jne 0x4e6694
mov dword [esi + 0x2b8], 6
push ebx
push dword [esi + 0x24]
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
mov edi, 1
push ebx
push edx
push edi
call fcn.005885b0
add esp, 0xc
mov eax, dword [esi + 0x10]
mov dword [esi + 0xe0], edi
mov dword [esi + 0xe4], ebx
mov dword [esi + 0xe8], ebx
mov byte [esi + 0xd8], 1
mov dword [esi + 0x2b8], 0x20
mov dword [esi + 0x1d4], eax
mov dword [esi + 0x1d8], 0
push 0
push 0x605c30
lea eax, [esi + 0x1d4]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.004dee10
add esp, 0x10
lea eax, [esi + 0x78]
mov byte [esi + 0xd8], 0
push eax
lea eax, [esi + 0xe0]
push eax
push dword [esi + 0x10]
lea eax, [esi + 0x178]
push eax
call fcn.004bd630
add esp, 0x10
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
test eax, eax
je 0x4e641b
test ecx, ecx
je 0x4e641b
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x188]
mov ecx, dword [ebp + 8]
movq xmm0, qword [esi + 0x178]
movq xmm1, qword [esi + 0x180]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x100]
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
cmp eax, 5
je 0x4e712c
cmp eax, 4
jb 0x4e712c
mov eax, dword [esi + 0x104]
mov ecx, dword [esi + 0x108]
mov dword [esi + 0x2b8], 8
mov dword [esi + 4], eax
push eax
mov dword [esi + 0x10], ecx
call dword [ecx]
add esp, 4
jmp 0x4e5d2d
lea eax, [esi + 0x1e8]
push eax
lea eax, [esi + 0xe0]
push eax
call fcn.004f9250
add esp, 8
mov eax, dword [esi + 0xe0]
mov dword [esi + 0x2b8], 0x12
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xe4]
mov dword [esi + 8], eax
mov eax, dword [esi + 0xe8]
push 0
mov dword [esi + 4], eax
push eax
call fcn.0041bbf0
add esp, 8
mov dword [esi + 0x24], edx
mov ecx, dword [esi + 0xc]
mov edi, eax
mov ebx, dword [esi + 4]
mov eax, dword [esi + 8]
test ecx, ecx
cmovne eax, ecx
push ebx
push eax
push edi
call fcn.005885b0
add esp, 0xc
mov eax, dword [esi + 0x24]
mov dword [esi + 0x1d4], edi
mov dword [esi + 0x78], 0
mov byte [esi + 0xdd], 1
mov dword [esi + 0x2b8], 0x13
mov dword [esi + 0x1d8], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x1dc], ebx
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], 0
push 0
push 0x605c30
lea eax, [esi + 0x58]
push eax
lea eax, [esi + 0x128]
push eax
call fcn.004dee10
add esp, 0x10
lea eax, [esi + 0x128]
mov byte [esi + 0xdd], 0
push eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x1d4]
push eax
push dword [esi + 0x10]
lea eax, [esi + 0x178]
push eax
call fcn.004bcfc0
add esp, 0x14
lea eax, [esi + 0x160]
mov dword [esi + 0x2b8], 0x11
push eax
call fcn.004d08b0
add esp, 4
mov eax, dword [esi + 0x164]
test eax, eax
je 0x4e659e
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esi + 0x160]
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x4e641b
mov ecx, dword [esi + 0xe4]
test ecx, ecx
jne 0x4e640f
jmp 0x4e641b
lea edi, [esi + 0x7c]
movq xmm0, qword [esi + 0x78]
mov edx, dword [ebp + 8]
movq xmm1, qword [esi + 0x80]
movzx ecx, word [edi + 0xd]
mov ah, byte [edi + 0xf]
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
mov word [edx + 0x11], cx
mov byte [edx + 0x13], ah
mov byte [edx + 0x10], al
jmp 0x4e712c
test edx, edx
mov dword [esi + 8], edx
je 0x4e675f
cmp edx, 4
jne 0x4e6766
cmp dword [edi], 0x706c6568
jne 0x4e676e
push 0x20
push dword [esi + 0x18]
mov dword [esi + 0x10], edi
call fcn.004c2a10
mov edi, dword [esi + 0x10]
mov edx, dword [esi + 8]
add esp, 8
test al, al
jne 0x4e676e
mov eax, dword [esi + 4]
add eax, 0xd0
push 0x20
push eax
call fcn.004c2a10
mov edi, dword [esi + 0x10]
mov edx, dword [esi + 8]
add esp, 8
test al, al
jne 0x4e676e
push dword [esi + 4]
call fcn.004a9930
mov edi, dword [esi + 0x10]
mov edx, dword [esi + 8]
add esp, 4
test al, al
jne 0x4e676e
lea eax, [ebp + 0x18]
push eax
push dword [ebp + 0x14]
call fcn.004f88e0
add esp, 8
mov edi, edx
mov edx, dword [esi + 4]
lea ecx, [esi + 0x78]
push edi
push eax
call fcn.004e9060
add esp, 8
jmp 0x4e710a
mov edi, 1
push ebx
push edx
push edi
call fcn.005885b0
add esp, 0xc
mov eax, dword [esi + 0x10]
mov dword [esi + 0x1d4], edi
mov dword [esi + 0x1d8], ebx
mov dword [esi + 0x1dc], ebx
mov dword [esi + 0x78], 0
mov byte [esi + 0xdf], 1
mov dword [esi + 0x2b8], 7
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], 0
push 0
push 0x605c30
lea eax, [esi + 0x58]
push eax
lea eax, [esi + 0x128]
push eax
call fcn.004dee10
add esp, 0x10
lea eax, [esi + 0x128]
mov byte [esi + 0xdf], 0
push eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x1d4]
push eax
push dword [esi + 0x10]
lea eax, [esi + 0x178]
push eax
call fcn.004bcfc0
add esp, 0x14
mov eax, dword [esi + 0x188]
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 4]
movq xmm0, qword [esi + 0x178]
movq xmm1, qword [esi + 0x180]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 8]
test edx, edx
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
je 0x4e712c
test eax, eax
je 0x4e712c
push 1
push eax
push edx
jmp 0x4e5d42
mov eax, 1
jmp 0x4e678b
test edx, edx
js 0x4e7fdb
movzx eax, byte [0x636fbd]
push 1
push edx
call fcn.00452e20
mov edx, dword [esi + 8]
add esp, 8
test eax, eax
je 0x4e7f51
push edx
push edi
mov dword [esi + 0x10], eax
push eax
call fcn.005885b0
mov edx, dword [esi + 8]
add esp, 0xc
mov dword [esi + 0x3c], 0
mov dword [esi + 4], edx
mov eax, dword [esi + 0x1f0]
mov dword [esi + 8], edx
test eax, eax
je 0x4e67cc
mov ecx, dword [esi + 0x1f4]
test ecx, ecx
je 0x4e67cc
push 1
push ecx
push eax
call fcn.00452e30
mov edx, dword [esi + 8]
add esp, 0xc
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x4e68f4
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov eax, dword [eax + 0x12c]
test eax, eax
je 0x4e7e52
mov edi, dword [esi + 0x68]
imul eax, eax, 0x160
mov ebx, dword [edi + 0x124]
add eax, ebx
mov dword [esi + 0x50], eax
jmp 0x4e6815
mov ebx, dword [esi + 0xc]
add ebx, 0x160
cmp ebx, dword [esi + 0x50]
je 0x4e7e52
mov eax, dword [ebx + 0xfc]
mov edi, dword [ebx + 0xf4]
cmp edx, eax
mov dword [esi + 0x24], eax
jne 0x4e683d
push edx
push edi
push ecx
call fcn.00588c8a
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
je 0x4e6899
mov eax, dword [ebx + 0x108]
mov dword [esi + 0x18], edi
mov dword [esi + 0xc], ebx
test eax, eax
je 0x4e6803
mov edi, dword [esi + 0xc]
shl eax, 2
lea ebx, [eax + eax*2]
mov edi, dword [edi + 0x100]
add edi, 4
jmp 0x4e6878
add edi, 0xc
add ebx, 0xfffffff4
je 0x4e6803
cmp edx, dword [edi]
jne 0x4e6870
push edx
push dword [edi - 4]
push ecx
call fcn.00588c8a
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
jne 0x4e6870
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x18]
test edx, edx
je 0x4e6900
setns al
js 0x4e7f93
movzx ecx, al
movzx eax, byte [0x636fbd]
mov dword [esi + 8], ecx
push ecx
push edx
mov ebx, edx
call fcn.00452e20
mov edx, ebx
add esp, 8
mov ebx, eax
test eax, eax
jne 0x4e6905
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x2b8], 0
mov dword [esi + 0x1c8], eax
mov dword [esi + 0x114], ecx
push edx
push dword [esi + 8]
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
mov cl, 1
xor eax, eax
mov dword [esi + 8], ecx
jmp 0x4e7355
mov ebx, 1
push edx
push edi
push ebx
mov edi, edx
call fcn.005885b0
add esp, 0xc
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x1d4], ebx
mov dword [esi + 0x1d8], edi
mov dword [esi + 0x24], ebx
mov dword [esi + 8], edi
mov dword [esi + 0x1dc], edi
mov dword [esi + 0x2b8], 1
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x68]
add eax, 0xc8
push 0
push eax
call fcn.004c2a10
add esp, 8
test al, al
mov byte [esi + 0xc], 1
jne 0x4e696b
mov eax, dword [esi + 0x68]
add eax, 0xd0
push 0
push eax
call fcn.004c2a10
add esp, 8
mov byte [esi + 0xc], al
push dword [esi + 8]
push dword [esi + 0x24]
push dword [esi + 0x68]
call fcn.004acc40
add esp, 0xc
test eax, eax
je 0x4e732b
push 0
mov dword [esi + 0x18], eax
call fcn.00530e10
mov edx, dword [esi + 0x18]
add esp, 4
test eax, eax
je 0x4e7fb9
movdqu xmm0, xmmword [eax]
movd ecx, xmm0
pshufd xmm1, xmm0, 0x55
add ecx, 1
mov dword [eax], ecx
movd ecx, xmm1
adc ecx, 0
cmp byte [esi + 0x3c], 0
mov dword [eax + 4], ecx
lea ecx, [esi + 0x128]
movdqu xmmword [esi + 0x178], xmm0
mov dword [esi + 0x188], 0x6039b0
mov dword [esi + 0x18c], 0
mov dword [esi + 0x190], 0
mov dword [esi + 0x194], 0
mov dword [esi + 0x198], 8
mov dword [esi + 0x19c], 0
mov dword [esi + 0x1a0], 0
mov dword [esi + 0x1a8], 0
mov dword [esi + 0xe8], edx
mov dword [esi + 0xec], 0
mov dword [esi + 0xe0], 0
mov byte [esi + 0x1c4], 4
mov dword [esi + 0xf0], 0
je 0x4e6a63
mov eax, dword [ebp + 0xc]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 0xc]
movq qword [esi + 0xe0], xmm0
movq qword [esi + 0xec], xmm1
mov byte [esi + 0x36], 1
mov dword [esi + 0x2b8], 2
push dword [esi + 0x50]
push dword [ebp + 0x14]
lea eax, [esi + 0x178]
push eax
lea eax, [esi + 0xe0]
push eax
push ecx
call fcn.004e2fa0
add esp, 0x14
cmp byte [esi + 0x138], 0x16
je 0x4e6ad6
mov eax, dword [esi + 0x138]
movq xmm0, qword [esi + 0x128]
movq xmm1, qword [esi + 0x130]
cmp byte [esi + 0xc], 0
mov dword [esi + 0x88], eax
movq qword [esi + 0x80], xmm1
movq qword [esi + 0x78], xmm0
je 0x4e74f1
lea ecx, [esi + 0x78]
mov byte [esi + 0x36], 1
call fcn.00403120
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x58]
mov edx, dword [ecx + 0x5c]
mov edi, dword [ecx + 0xf4]
mov ecx, dword [ecx + 0xfc]
test ecx, ecx
mov dword [esi + 0x18], eax
mov dword [esi + 0x68], edx
je 0x4e7187
setns al
js 0x4e8016
movzx edx, al
movzx eax, byte [0x636fbd]
mov dword [esi + 0xc], edx
push edx
push ecx
mov ebx, ecx
call fcn.00452e20
mov ecx, ebx
add esp, 8
mov ebx, eax
test eax, eax
jne 0x4e718c
mov byte [esi + 0x36], 1
push ecx
push dword [esi + 0xc]
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
push ecx
push dword [esi + 0xc]
lea eax, [esi + 0x128]
push eax
call fcn.00538ea0
add esp, 0xc
lea eax, [esi + 0x128]
push eax
lea eax, [esi + 0x58]
push eax
call fcn.004c4040
add esp, 8
mov eax, dword [esi + 0x60]
movsd xmm0, qword [esi + 0x58]
lea ecx, [esi + 0x7c]
mov dword [esi + 0x78], 7
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov eax, dword [ecx + 0x10]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
lea ecx, [esi + 0x17c]
mov dword [esi + 0xf0], eax
mov dword [ecx + 0x10], eax
movq qword [esi + 0xe0], xmm0
movq qword [esi + 0xe8], xmm1
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
mov dword [esi + 0x178], 7
lea ecx, [esi + 0x17c]
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x2b8], 0x27
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
lea ecx, [esi + 0x78]
mov dword [esi + 0x248], eax
movq qword [esi + 0x240], xmm0
push dword [ebp + 0x10]
call fcn.004eb4b0
add esp, 4
cmp byte [esi + 0x88], 0x16
je 0x4e6c00
lea ecx, [esi + 0x78]
call fcn.00403120
lea eax, [ebp + 0x18]
push eax
push dword [ebp + 0x14]
call fcn.004f88e0
add esp, 8
lea ecx, [esi + 0x228]
push edx
push eax
push ecx
call fcn.004d29b0
add esp, 0xc
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x248]
mov edx, dword [esi + 0x228]
mov dword [esi + 0x278], eax
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 4], ecx
mov dword [esi + 0x27c], ecx
mov dword [esi + 0x30], edx
mov edx, dword [esi + 0x230]
mov ecx, dword [eax]
mov dword [esi + 8], edx
lea edx, [esi + 0x200]
mov eax, dword [ecx + 0x34]
mov dword [esi + 0xc], ecx
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x2b8], 0x28
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
push eax
push ecx
push edx
call fcn.004d4260
add esp, 0xc
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x208]
mov edi, dword [esi + 0x200]
mov ecx, dword [edx + 0x124]
imul edx, dword [edx + 0x12c], 0x160
mov dword [esi + 0x10], eax
lea eax, [eax + eax*2]
mov dword [esi + 0x2b8], 0x29
lea eax, [edi + eax*4]
add edx, ecx
push edx
push ecx
push eax
mov dword [esi + 0x68], edi
push edi
push dword [esi + 8]
push dword [esi + 0x30]
push dword [esi + 4]
push dword [esi + 0x54]
lea eax, [esi + 0x128]
push eax
call fcn.004efcf0
add esp, 0x24
mov eax, dword [esi + 0x128]
test eax, eax
mov dword [esi + 0x18], eax
je 0x4e6d8a
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4e6d8a
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x130]
lea eax, [eax + eax*4]
mov edi, dword [edx + 0x2c]
mov dword [esi + 8], ecx
lea ebx, [edi + eax*4]
mov dword [esi + 0x24], ebx
jmp 0x4e6d15
add edi, 0x14
cmp edi, ebx
je 0x4e6d8a
movzx eax, byte [edi + 0x10]
add al, 0xfe
cmp al, 2
ja 0x4e6d23
cmp al, 1
jne 0x4e6d0e
lea eax, [edi + 4]
mov byte [esi + 0x35], 1
mov dword [esi + 0x2b8], 0x2a
push eax
mov dword [esi + 4], edi
call fcn.00525d50
mov ebx, dword [esi + 0x24]
mov edi, dword [esi + 4]
add esp, 4
cmp edx, dword [esi + 8]
jne 0x4e6d0e
push dword [esi + 8]
push dword [esi + 0x18]
push eax
call fcn.00588c8a
add esp, 0xc
test eax, eax
jne 0x4e6d0e
mov edx, dword [esi + 0xc]
mov eax, dword [edi]
mov ecx, dword [edx + 0x28]
cmp eax, ecx
jae 0x4e7d10
imul eax, eax, 0x150
mov ecx, dword [ebp + 0xc]
add eax, dword [edx + 0x20]
mov edx, dword [ebp + 0x10]
mov byte [esi + 0x35], 1
push eax
call fcn.004eddf0
add esp, 4
mov byte [esi + 0x35], 1
mov dword [esi + 0x2b8], 0x2a
lea eax, [esi + 0x100]
push dword [esi + 0xc]
push eax
call fcn.004adcc0
lea edi, [esi + 0x78]
add esp, 8
mov edx, dword [ebp + 0x10]
mov byte [esi + 0xd4], 1
mov dword [esi + 0x2b8], 0x2b
mov ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x20]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x78], eax
shl ecx, 4
add ecx, eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x80], edx
mov dword [esi + 0x84], eax
lea eax, [esi + 0x160]
push edi
push eax
call fcn.004d3660
add esp, 8
lea eax, [esi + 0x278]
mov dword [esi + 0x78], 0x606044
mov dword [esi + 0x7c], 1
mov dword [esi + 0x88], 0
mov byte [esi + 0x72], 1
mov dword [esi + 0x2b8], 0x2c
mov dword [esi + 0x58], eax
lea eax, [esi + 0x58]
mov dword [esi + 0x5c], 0x41fcd0
mov dword [esi + 0x80], eax
lea eax, [esi + 0x78]
mov dword [esi + 0x84], 1
push eax
lea eax, [esi + 0xe0]
push eax
call fcn.00538850
add esp, 8
mov eax, dword [esi + 0xe8]
movsd xmm1, qword [esi + 0x138]
movq xmm0, qword [esi + 0xe0]
movq xmm2, qword [esi + 0x128]
mov ecx, dword [esi + 0x160]
mov byte [esi + 0xd5], 1
mov dword [esi + 0x2b8], 0x2d
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0xc]
movsd qword [esi + 0x88], xmm1
movq xmm1, qword [esi + 0x130]
movq qword [esi + 0x118], xmm0
movq qword [esi + 0x78], xmm2
mov dword [esi + 0x170], eax
lea eax, [esi + 0x100]
movq qword [esi + 0x80], xmm1
mov dword [esi + 0x174], eax
mov eax, dword [esi + 0x168]
push eax
mov dword [esi + 4], ecx
push ecx
lea eax, [esi + 0x170]
push eax
lea eax, [esi + 0x58]
push eax
call fcn.004dee10
add esp, 0x10
lea eax, [esi + 0x58]
mov byte [esi + 0xd5], 0
push eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x118]
push eax
push dword [esi + 0xc]
lea eax, [esi + 0xe0]
push eax
call fcn.004bcfc0
add esp, 0x14
mov eax, dword [esi + 0x164]
test eax, eax
je 0x4e6f26
shl eax, 3
push 8
push eax
push dword [esi + 4]
call fcn.00452e30
add esp, 0xc
mov edi, dword [esi + 0x108]
test edi, edi
je 0x4e6f5a
mov ebx, dword [esi + 0x100]
add ebx, 0xc
jmp 0x4e6f41
add ebx, 0x18
dec edi
je 0x4e6f5a
mov eax, dword [ebx]
test eax, eax
je 0x4e6f3b
shl eax, 2
push 4
push eax
push dword [ebx - 4]
call fcn.00452e30
add esp, 0xc
jmp 0x4e6f3b
mov eax, dword [esi + 0x104]
test eax, eax
je 0x4e6f7b
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [esi + 0x100]
call fcn.00452e30
add esp, 0xc
cmp dword [esi + 0x10], 0
mov ebx, dword [esi + 0x68]
je 0x4e6fa7
lea edi, [ebx + 4]
jmp 0x4e6f91
add edi, 0xc
dec dword [esi + 0x10]
je 0x4e6fa7
mov eax, dword [edi]
test eax, eax
je 0x4e6f89
push 1
push eax
push dword [edi - 4]
call fcn.00452e30
add esp, 0xc
jmp 0x4e6f89
mov eax, dword [esi + 0x204]
test eax, eax
je 0x4e6fc3
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push ebx
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0xf0]
mov ecx, dword [ebp + 8]
movq xmm0, qword [esi + 0xe0]
movq xmm1, qword [esi + 0xe8]
mov edi, dword [esi + 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x22c]
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
mov ecx, dword [esi + 0x30]
test eax, eax
je 0x4e7007
shl eax, 3
push 4
push eax
push ecx
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x244]
test eax, eax
je 0x4e712c
push 1
push eax
push edi
jmp 0x4e5d42
mov eax, dword [esi + 0xf0]
mov ecx, dword [ebp + 8]
movq xmm0, qword [esi + 0xe0]
movq xmm1, qword [esi + 0xe8]
jmp 0x4e7120
mov eax, dword [esi + 0x88]
mov ecx, dword [ebp + 8]
movq xmm0, qword [esi + 0x78]
movq xmm1, qword [esi + 0x80]
mov dword [ecx + 0x10], eax
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
mov eax, dword [esi + 0x1f0]
test eax, eax
je 0x4e714c
mov ecx, dword [esi + 0x1f4]
test ecx, ecx
je 0x4e714c
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x2b0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, 1
mov dword [esi + 0x50], ecx
push ecx
push edi
push ebx
call fcn.005885b0
add esp, 0xc
movsd xmm1, qword [esi + 0x180]
mov eax, dword [esi + 0x1b8]
movsd xmm2, qword [esi + 0x190]
movq xmm0, qword [esi + 0x178]
mov ecx, dword [esi + 0x1bc]
mov edi, dword [esi + 0x1c0]
movsd qword [esi + 0x130], xmm1
movsd xmm1, qword [esi + 0x188]
mov dword [esi + 0x3c], eax
movzx eax, byte [esi + 0x1c4]
movsd qword [esi + 0x140], xmm2
movq xmm2, qword [esi + 0x1a0]
movq qword [esi + 0x128], xmm0
movsd qword [esi + 0x138], xmm1
movsd xmm1, qword [esi + 0x198]
cmp al, 4
movq qword [esi + 0x150], xmm2
movsd qword [esi + 0x148], xmm1
movq xmm1, qword [esi + 0x1a8]
movq qword [esi + 0x158], xmm1
je 0x4e727d
test edi, edi
mov dword [esi + 0x20], ebx
je 0x4e725b
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xc], ecx
lea ebx, [eax + 4]
jmp 0x4e7242
add ebx, 0x10
dec edi
je 0x4e725b
mov eax, dword [ebx]
test eax, eax
je 0x4e723c
push 1
push eax
push dword [ebx - 4]
call fcn.00452e30
mov ecx, dword [esi + 0xc]
add esp, 0xc
jmp 0x4e723c
mov ebx, dword [esi + 0x20]
test ecx, ecx
je 0x4e727d
shl ecx, 4
push 4
push ecx
push dword [esi + 0x3c]
call fcn.00452e30
add esp, 0xc
mov dword [esi + 0x2b8], 2
mov eax, dword [esi + 0x18]
movsd xmm1, qword [esi + 0x130]
movsd xmm2, qword [esi + 0x140]
movq xmm0, qword [esi + 0x128]
mov byte [esi + 0x36], 0
mov dword [esi + 0x2b8], 2
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], eax
movsd qword [esi + 0x88], xmm1
movsd xmm1, qword [esi + 0x138]
movsd qword [esi + 0x98], xmm2
movq xmm2, qword [esi + 0x150]
lea eax, [esi + 0x78]
movq qword [esi + 0x80], xmm0
movsd qword [esi + 0x90], xmm1
movsd xmm1, qword [esi + 0x148]
movq qword [esi + 0xa8], xmm2
movsd qword [esi + 0xa0], xmm1
movq xmm1, qword [esi + 0x158]
movq qword [esi + 0xb0], xmm1
push eax
push dword [ebp + 0x10]
call fcn.004c1a10
add esp, 8
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x24]
test eax, eax
je 0x4e7341
push 1
push eax
push ecx
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x10]
mov dword [esi + 0x2b8], 0
mov dword [esi + 8], 0
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0xc]
mov dword [esi + 4], ecx
mov dword [esi + 0x1c8], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x114], eax
mov dword [esi + 0x2b8], 0
lea ecx, [esi + 0x78]
push dword [ebp + 0x10]
call fcn.004eb4b0
add esp, 4
movzx eax, byte [esi + 0x88]
cmp al, 0x16
jne 0x4e748f
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x114], ecx
mov dword [esi + 0x1c8], eax
lea ecx, [esi + 0x78]
push dword [ebp + 0x10]
call fcn.004ece50
add esp, 4
movzx eax, byte [esi + 0x88]
cmp al, 0x16
jne 0x4e748f
mov eax, dword [esi + 0x38]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
mov dword [esi + 0x1c8], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x114], eax
push ecx
lea eax, [esi + 0x178]
push eax
call fcn.004adcc0
add esp, 8
mov eax, dword [esi + 0xc]
movq xmm0, qword [esi + 0x178]
mov dword [esi + 0x2b8], 0x3d
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x180]
movq qword [esi + 0x7c], xmm0
mov dword [esi + 0x84], eax
push dword [ebp + 0x10]
push dword [esi + 0x54]
push dword [esi + 0x30]
push dword [esi + 0x74]
push dword [esi + 0x2c]
lea eax, [esi + 0x78]
push eax
push dword [ebp + 8]
call fcn.004c6ad0
add esp, 0x1c
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
test ecx, ecx
sete al
or dl, al
jne 0x4e7454
push 1
push ecx
push dword [esi + 0x10]
call fcn.00452e30
add esp, 0xc
mov edi, dword [esi + 0x84]
test edi, edi
je 0x4e74d2
mov ebx, dword [esi + 0x7c]
add ebx, 0xc
jmp 0x4e7476
add ebx, 0x18
dec edi
je 0x4e74d2
mov eax, dword [ebx]
test eax, eax
je 0x4e7470
shl eax, 2
push 4
push eax
push dword [ebx - 4]
call fcn.00452e30
add esp, 0xc
jmp 0x4e7470
movq xmm0, qword [esi + 0x78]
mov edx, dword [ebp + 8]
movq xmm1, qword [esi + 0x80]
movzx ecx, word [esi + 0x89]
mov ah, byte [esi + 0x8b]
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
mov word [edx + 0x11], cx
mov byte [edx + 0x13], ah
mov byte [edx + 0x10], al
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 4]
test eax, eax
jne 0x4e713c
jmp 0x4e714c
mov eax, dword [esi + 0x80]
test eax, eax
je 0x4e714c
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [esi + 0x7c]
jmp 0x4e7144
movzx ecx, byte [esi + 0x8b]
movq xmm0, qword [esi + 0x128]
movq xmm1, qword [esi + 0x130]
movzx eax, byte [esi + 0x88]
movzx edx, word [esi + 0x89]
mov dword [esi + 0x2b8], 4
mov byte [esi + 0x1ea], cl
lea ecx, [esi + 0x178]
movq qword [esi + 0x298], xmm1
movq qword [esi + 0x290], xmm0
mov byte [esi + 0xc], al
mov word [esi + 0x1e8], dx
call fcn.004a8780
cmp byte [esi + 0x1c4], 4
je 0x4e758b
lea eax, [esi + 0x1b8]
mov dword [esi + 0x2b8], 3
push eax
call fcn.004d0ad0
add esp, 4
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x4e758b
shl eax, 4
push 4
push eax
push dword [esi + 0x1b8]
call fcn.00452e30
add esp, 0xc
movzx ebx, byte [esi + 0xc]
cmp bl, 0x16
je 0x4e732b
movsd xmm0, qword [esi + 0x290]
mov ecx, dword [ebp + 8]
movsd xmm1, qword [esi + 0x298]
movzx eax, word [esi + 0x1e8]
mov edx, dword [esi + 8]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov word [ecx + 0x11], ax
movzx eax, byte [esi + 0x1ea]
test edx, edx
mov byte [ecx + 0x13], al
mov eax, dword [esi + 0x24]
mov byte [ecx + 0x10], bl
je 0x4e74bf
push 1
push edx
push eax
call fcn.00452e30
add esp, 0xc
jmp 0x4e74bf
lea eax, [esi + 0x200]
push dword [esi + 4]
push eax
call fcn.004adcc0
add esp, 8
mov edx, dword [ebp + 0x10]
mov dword [esi + 0x2b8], 0x39
mov ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x20]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x128], eax
shl ecx, 4
add ecx, eax
mov eax, dword [esi + 4]
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x130], edx
lea ecx, [esi + 0x100]
mov dword [esi + 0x134], eax
lea eax, [esi + 0x200]
mov dword [esi + 0x138], eax
lea eax, [esi + 0x128]
push eax
push ecx
call fcn.004d1200
add esp, 8
mov byte [esi + 0x71], 1
mov dword [esi + 0x2b8], 0x3a
push dword [esi + 0x280]
push dword [esi + 0x40]
lea eax, [esi + 0x128]
push eax
call fcn.00538ea0
add esp, 0xc
lea ecx, [esi + 0x128]
mov byte [esi + 0x71], 1
lea eax, [esi + 0x160]
push ecx
push eax
call fcn.004c4040
add esp, 8
mov eax, dword [esi + 0x108]
movq xmm0, qword [esi + 0x100]
mov dword [esi + 0x58], 1
mov dword [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov dword [esi + 0x2b8], 0x3b
mov dword [esi + 0x120], eax
movq qword [esi + 0x118], xmm0
push 0x605b80
lea eax, [esi + 0x58]
push eax
lea eax, [esi + 0x128]
push eax
call fcn.005409a0
add esp, 0xc
lea eax, [esi + 0x128]
push eax
push dword [esi + 8]
call fcn.004b0bb0
add esp, 8
test al, al
jne 0x4e8021
mov eax, dword [esi + 0x60]
movsd xmm0, qword [esi + 0x58]
lea ecx, [esi + 0x94]
mov dword [esi + 0x2b8], 0x38
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x168]
movsd qword [ecx], xmm0
movsd xmm0, qword [esi + 0x160]
lea ecx, [esi + 0x7c]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x108]
movsd qword [ecx], xmm0
movsd xmm0, qword [esi + 0x100]
mov dword [ecx + 0x14], eax
lea eax, [esi + 0x200]
movsd qword [ecx + 0xc], xmm0
push eax
call fcn.004d08f0
add esp, 4
mov eax, dword [esi + 0x204]
test eax, eax
je 0x4e777f
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [esi + 0x200]
call fcn.00452e30
add esp, 0xc
lea ecx, [esi + 0x7c]
movsd xmm0, qword [ecx]
mov eax, dword [ecx + 0x10]
movq xmm1, qword [ecx + 8]
movq xmm3, qword [ecx + 0x1c]
movsd qword [esi + 0xe0], xmm0
movsd xmm0, qword [ecx + 0x14]
mov dword [esi + 0xf0], eax
lea ecx, [esi + 0x17c]
movq qword [esi + 0xe8], xmm1
mov eax, dword [esi + 0xf0]
movq xmm2, qword [esi + 0xe8]
movq qword [ecx + 0x1c], xmm3
movsd qword [ecx + 0x14], xmm0
movq xmm0, qword [esi + 0xe0]
mov dword [ecx + 0x10], eax
movq qword [ecx + 8], xmm2
movq qword [ecx], xmm0
mov dword [esi + 0x178], 4
lea ecx, [esi + 0x17c]
mov edx, dword [esi + 0x190]
mov byte [esi + 0x4d], 0
mov byte [esi + 0x4e], 1
mov dword [esi + 0x2b8], 0x23
movsd xmm0, qword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [esi + 0x19c]
mov dword [esi + 0x168], edx
mov edx, dword [ebp + 0xc]
movsd qword [esi + 0x100], xmm0
movsd xmm0, qword [esi + 0x188]
mov dword [esi + 0x120], ecx
mov dword [esi + 0x108], eax
lea ecx, [esi + 0x78]
movsd qword [esi + 0x160], xmm0
movq xmm0, qword [esi + 0x194]
movq qword [esi + 0x118], xmm0
push dword [ebp + 0x10]
call fcn.004eb4b0
add esp, 4
cmp byte [esi + 0x88], 0x16
je 0x4e7879
lea ecx, [esi + 0x78]
mov byte [esi + 0x4d], 0
mov byte [esi + 0x4e], 1
call fcn.00403120
mov ecx, dword [esi + 0x38]
lea edx, [esi + 0x17c]
lea eax, [esi + 0x194]
mov byte [esi + 0xd7], 1
mov dword [esi + 0x2b8], 0x24
movsd xmm0, qword [edx]
mov edi, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, dword [esi + 0x160]
movsd qword [esi + 0x58], xmm0
movq xmm0, qword [eax]
mov dword [esi + 0x60], ecx
mov ecx, dword [eax + 8]
mov eax, dword [esi + 0x168]
mov dword [esi + 0x200], edi
mov dword [esi + 0x10], edi
mov dword [esi + 0x204], 0
movq qword [esi + 0xe0], xmm0
mov dword [esi + 0xe8], ecx
lea ecx, [esi + 0x200]
push eax
mov dword [esi + 4], edx
push edx
push ecx
lea eax, [esi + 0x128]
push eax
call fcn.004def80
add esp, 0x10
lea eax, [esi + 0x128]
mov byte [esi + 0xd7], 0
push eax
lea eax, [esi + 0xe0]
push eax
lea eax, [esi + 0x58]
push eax
push dword [esi + 0x10]
lea eax, [esi + 0x78]
push eax
call fcn.004bb880
add esp, 0x14
mov eax, dword [esi + 0x88]
mov ecx, dword [ebp + 8]
movq xmm0, qword [esi + 0x78]
movq xmm1, qword [esi + 0x80]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x164]
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
test eax, eax
je 0x4e712c
shl eax, 3
push 8
jmp 0x4e5d3e
movq xmm0, qword [esi + 0x228]
mov ecx, dword [ebp + 8]
movq xmm1, qword [esi + 0x230]
movzx eax, byte [esi + 0x1d2]
movzx edi, word [esi + 0x1d0]
movzx edx, byte [esi + 0x28]
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
mov byte [ecx + 0x13], al
mov word [ecx + 0x11], di
mov byte [ecx + 0x10], dl
jmp 0x4e712c
push 0x604de4
push ecx
push eax
call fcn.005b17d0
add esp, 0xc
jmp 0x4e8041
push 0x604de4
push ecx
push eax
call fcn.005b17d0
add esp, 0xc
jmp 0x4e8041
mov dword [esi + 0x2b8], 5
push 0x605df0
push 0x63
push 0x60328d
call fcn.005b1610
add esp, 0xc
jmp 0x4e8041
mov dword [esi + 0x2b8], 5
push 0x605df0
push 0x63
push 0x60328d
call fcn.005b1610
add esp, 0xc
jmp 0x4e8041
push 0x604de4
push edx
push eax
call fcn.005b17d0
add esp, 0xc
jmp 0x4e8041
push 0x604de4
push ecx
push eax
call fcn.005b17d0
add esp, 0xc
jmp 0x4e8041
mov dword [esi + 0x2b8], 5
push 0x605f34
push 0x63
push 0x60328d
call fcn.005b1610
add esp, 0xc
jmp 0x4e8041
mov dword [esi + 0x2b8], 5
push 0x605f34
push 0x63
push 0x60328d
call fcn.005b1610
add esp, 0xc
jmp 0x4e8041
mov dword [esi + 0x2b8], 0x21
push 0x605f24
push 0x63
push 0x60328d
call fcn.005b1610
add esp, 0xc
jmp 0x4e8041
mov dword [esi + 0x2b8], 5
push 0x605ea4
push 0x63
push 0x60328d
call fcn.005b1610
add esp, 0xc
jmp 0x4e8041
mov byte [esi + 0x35], 1
push 0x604de4
push ecx
push eax
call fcn.005b17d0
add esp, 0xc
jmp 0x4e8041
mov dword [esi + 0x2b8], 5
push 0x605f44
push 0x63
push 0x60328d
call fcn.005b1610
add esp, 0xc
jmp 0x4e8041
mov dword [esi + 0x2b8], 5
push 0x605f44
push 0x63
push 0x60328d
call fcn.005b1610
add esp, 0xc
jmp 0x4e8041
mov byte [esi + 0x37], 1
lea eax, [esi + 0x228]
push 0x604660
push 0x60450c
push eax
push 0x46
push 0x6045ca
call fcn.005b1a30
add esp, 0x14
jmp 0x4e8041
call fcn.00538200
jmp 0x4e8041
mov dword [esi + 0x2b8], 0x1c
call fcn.00538200
jmp 0x4e8041
mov eax, dword [esi + 4]
mov dword [esi + 0x114], ecx
mov dword [esi + 0x2b8], 0
mov dword [esi + 0x1c8], eax
push 0x605ed4
push 0x63
push str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issuesC:Userscompile_bamboo.cargo_registry_srcindex.crates.io_6f17d22bba15001fclap_3.2.25_srcparserparser.rs
call fcn.005b1610
add esp, 0xc
jmp 0x4e8041
mov dword [esi + 0x2b8], 0x18
call fcn.00538200
jmp 0x4e8041
mov byte [esi + 0x4f], 1
mov dword [esi + 0x2b8], 0x1a
call fcn.00538200
jmp 0x4e8041
mov dword [esi + str.If_App::_build_hasnt_been_called__manually_search_through_Arg_shorts], 0x605c98
mov dword [esi + 0x17c], 1
mov dword [esi + 0x188], 0
mov dword [esi + 0x180], 0x605c30
mov dword [esi + 0x184], 0
push 0x605d10
lea eax, [esi + 0x178]
push eax
call fcn.005b1670
add esp, 8
jmp 0x4e8041
mov dword [esi + 0x2b8], 0x1f
call fcn.00538200
jmp 0x4e8041
mov dword [esi + 0x2b8], 5
call fcn.00538200
jmp 0x4e8041
mov dword [esi + 0x2b8], 5
push edi
push 1
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
mov dword [esi + 0x2b8], 6
call fcn.00538200
jmp 0x4e8041
push edx
push 1
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x2b8], 0
mov dword [esi + 0x1c8], eax
mov dword [esi + 0x114], ecx
call fcn.00538200
jmp 0x4e8041
lea eax, [esi + 0x228]
push 0x604660
push 0x60450c
push eax
push 0x46
push 0x6045ca
call fcn.005b1a30
add esp, 0x14
jmp 0x4e8041
call fcn.00538200
jmp 0x4e8041
mov dword [esi + 0x2b8], 0x2e
push 0x605eb4
push 0x28
push 0x605e00
call fcn.005b1730
add esp, 0xc
jmp 0x4e8041
call fcn.00538200
jmp 0x4e8041
push ebx
push 1
call fcn.005b14d0
add esp, 8
jmp 0x4e8041
mov byte [esi + 0x36], 1
call fcn.00538200
jmp 0x4e8041
lea eax, [esi + 0x228]
push 0x605c1c
push 0x605c40
push eax
push 0x37
push str.a_Display_implementation_returned_an_error_unexpectedly_rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225library_alloc_src_string.rs
call fcn.005b1a30
add esp, 0x14
ud2