Function at 0x497af0
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Check os version
Encrypt data using speck
Get ntdll base address
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1d8
mov esi, esp
mov dword [esi + 0x1c0], ebp
mov dword [esi + 0x1c4], esp
mov dword [esi + 0x1d0], 0xffffffff
mov dword [esi + 0x1cc], 0x578920
mov ebx, dword [ebp + 8]
mov dword [esi + 0x18], edx
mov dword [esi + 0x34], ecx
mov eax, dword fs:[0]
mov dword [esi + 0x1c8], eax
lea eax, [esi + 0x1c8]
mov dword fs:[0], eax
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 4
mov dword [esi + 0x78], 0
mov dword [esi + 0x7c], 0
mov dword [esi + 0x80], 4
mov dword [esi + 0x84], 0
mov eax, dword [ebx + 0x34]
mov edx, dword [ebx + 0x30]
mov edi, dword [ebx + 0x24]
mov dword [esi + 0x68], eax
lea eax, [eax + eax*4]
mov dword [esi + 0x24], edx
mov dword [esi + 0xc], edi
shl eax, 4
add eax, edx
mov dword [esi + 0xa8], eax
call 0x497b97
pop eax
mov dword [esi + 0x40], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x28]
xor ebx, ebx
mov dword [esi + 0x44], eax
lea eax, [edi + eax*8]
mov dword [esi + 0x50], eax
mov eax, edx
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp edi, dword [esi + 0x50]
je 0x497ce2
cmp eax, dword [esi + 0xa8]
je 0x49bece
add edi, 8
cmp byte [eax + 0x45], 0
lea edx, [eax + 0x50]
mov eax, edx
je 0x497bc0
mov eax, dword [edi - 8]
mov dword [esi + 8], edi
mov edi, dword [edi - 4]
mov dword [esi + 0x2c], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 4], ebx
mov dword [esi + 0x1d0], 0
lea ecx, [esi + 0xe8]
mov dword [esi + 0x20], edi
push edi
mov dword [esi + 0x14], eax
push eax
call fcn.0049ed20
add esp, 8
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0x34]
mov edi, dword [esi + 8]
cmp eax, 0x80000000
je 0x497ce2
mov edx, dword [esi + 0xec]
mov ecx, dword [esi + 0xf0]
mov dword [esi + 0x30], eax
mov dword [esi + 0x28], edx
mov edx, dword [esi + 0x78]
mov dword [esi + 0x48], ecx
cmp edx, dword [esi + 0x70]
jne 0x497c71
lea ecx, [esi + 0x70]
mov byte [esi + 0xd3], 0
mov dword [esi + 0x1d0], 1
call fcn.00418c70
mov eax, dword [esi + 0x84]
mov edx, dword [esi + 0x78]
mov edi, dword [esi + 8]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x74]
mov ebx, dword [esi + 0x14]
mov ecx, dword [esi + 0x20]
mov dword [eax + edx*8], ebx
mov dword [eax + edx*8 + 4], ecx
mov ecx, dword [esi + 4]
inc edx
mov dword [esi + 0x78], edx
cmp ecx, dword [esi + 0x7c]
jne 0x497cae
mov edx, dword [esi + 4]
lea ecx, [esi + 0x7c]
mov dword [esi + 0x1d0], 2
call fcn.00418db0
mov eax, dword [esi + 0x84]
mov edi, dword [esi + 8]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x80]
mov ebx, dword [esi + 0x30]
lea edx, [eax + eax*2]
inc eax
mov dword [ecx + edx*4], ebx
mov ebx, dword [esi + 0x28]
mov dword [ecx + edx*4 + 4], ebx
mov ebx, dword [esi + 0x48]
mov dword [ecx + edx*4 + 8], ebx
mov ebx, eax
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x34]
jmp 0x497bc0
mov eax, dword [ebp + 8]
movsd xmm0, qword [esi + 0x80]
mov edx, dword [esi + 0x18]
movq xmm1, qword [esi + 0x78]
mov ecx, dword [ecx + 0xc]
movsd qword [esi + 0x154], xmm0
movq xmm0, qword [esi + 0x70]
mov eax, dword [eax + 0x38]
cmp dword [edx], 1
movq qword [esi + 0x14c], xmm1
mov dword [esi + 0x14], ecx
movq qword [esi + 0x144], xmm0
mov dword [esi + 0x38], eax
jne 0x497f2d
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x49bea8
mov ecx, dword [esi + 0x18]
imul edi, eax, 0x11c
mov edx, dword [ecx + 4]
mov dword [esi + 0x10], edx
mov edx, dword [ecx + 8]
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 0x48]
mov dword [esi + 8], edx
jmp 0x497d72
add ecx, 0x11c
add edi, 0xfffffee4
je 0x49bea8
cmp dword [ecx + 0x100], edx
jne 0x497d60
mov ebx, dword [ecx + 0xfc]
push edx
push dword [esi + 0x10]
push ebx
mov dword [esi + 4], ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x497d60
cmp dword [esi + 0x44], 0
mov dword [esi + 0x10], ebx
je 0x497edf
mov eax, dword [esi + 0x44]
xor edi, edi
lea ebx, [eax*8]
jmp 0x497dca
inc edi
add ebx, 0xfffffff8
je 0x497edf
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*8 + 4], edx
jne 0x497dc0
push edx
push dword [esi + 0x10]
mov eax, dword [esi + 0xc]
push dword [eax + edi*8]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x497dc0
cmp edi, dword [esi + 0x68]
jae 0x49be6e
mov eax, dword [esi + 0x24]
lea ecx, [edi + edi*4]
shl ecx, 4
mov eax, dword [eax + ecx + 0x34]
test eax, eax
je 0x497ecc
mov edx, dword [esi + 0x24]
xor edi, edi
cmp eax, 8
mov ecx, dword [edx + ecx + 0x30]
mov edx, 0
jb 0x497ead
mov edx, eax
lea edi, [ecx + 0x5c]
pxor xmm0, xmm0
pxor xmm1, xmm1
and edx, 0xfffffff8
mov ebx, edx
nop word cs:[eax + eax]
nop dword [eax]
movd xmm2, dword [edi - 0x30]
movd xmm3, dword [edi - 0x3c]
movd xmm4, dword [edi - 0x54]
movd xmm6, dword [edi - 0xc]
movd xmm5, dword [edi - 0x18]
punpckldq xmm3, xmm2
movd xmm2, dword [edi - 0x48]
punpckldq xmm4, xmm2
movd xmm2, dword [edi]
punpcklqdq xmm4, xmm3
paddd xmm0, xmm4
movd xmm4, dword [edi - 0x24]
add edi, 0x60
add ebx, 0xfffffff8
punpckldq xmm6, xmm2
punpckldq xmm4, xmm5
punpcklqdq xmm4, xmm6
paddd xmm1, xmm4
jne 0x497e40
paddd xmm1, xmm0
cmp eax, edx
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edi, xmm1
je 0x497ec8
sub eax, edx
lea edx, [edx + edx*2]
lea ecx, [ecx + edx*4 + 8]
nop word cs:[eax + eax]
add edi, dword [ecx]
add ecx, 0xc
dec eax
jne 0x497ec0
test edi, edi
jne 0x497f2d
mov eax, dword [esi + 4]
cmp dword [eax + 8], 0
je 0x49c272
cmp dword [eax + 0xc], 0
je 0x497f2d
mov ecx, dword [esi + 4]
cmp dword [ecx + 8], 0
je 0x497ef2
cmp dword [ecx + 0x10], 0
je 0x498dff
cmp dword [ecx + 0x28], 5
lea eax, [ecx + 0x28]
mov edx, 0x58eeac
mov edi, dword [esi + 0x40]
cmovne edx, eax
mov eax, str._rustc_aedd173a2c086e558c2b66d3743b344f977621a7librarycore_src_strpattern.rs
mov ecx, dword [edx]
add edi, dword [ecx*4 + 0x49d0f0]
mov ecx, 0x58f258
jmp edi
cmp dword [esi + 0x38], 0
je 0x498014
cmp dword [esi + 0x44], 0
je 0x49848b
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x49837d
mov eax, dword [eax + 0x48]
mov ebx, dword [esi + 0xc]
xor edx, edx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x40], eax
add eax, 0x100
mov dword [esi + 0x28], eax
imul eax, ecx, 0x11c
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x24]
mov edi, eax
jmp 0x497fa1
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x2c]
add ebx, 8
add edx, dword [esi + 0x10]
add edi, 0x50
cmp ebx, dword [esi + 0x50]
je 0x4980f5
cmp edi, dword [esi + 0xa8]
je 0x49bf83
cmp byte [edi + 0x45], 0
mov dword [esi + 0x10], 0
je 0x497f8f
mov eax, dword [ebx]
mov dword [esi + 0x20], edi
mov dword [esi + 0x2c], ebx
mov edi, dword [esi + 0x48]
mov dword [esi + 0x18], edx
mov dword [esi + 4], eax
mov eax, dword [ebx + 4]
mov ebx, dword [esi + 0x28]
mov dword [esi + 8], eax
jmp 0x497fee
add ebx, 0x11c
add edi, 0xfffffee4
je 0x497f80
cmp dword [ebx], eax
jne 0x497fe0
push eax
push dword [esi + 4]
push dword [ebx - 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 8]
jne 0x497fe0
mov dword [esi + 0x10], 1
jmp 0x497f80
mov edx, dword [esi + 0x14]
mov eax, dword [edx + 0x144]
test eax, 0x10000
jne 0x49802d
test byte [edx + 0x14a], 1
je 0x498084
cmp dword [esi + 0x44], 0
je 0x498342
mov ebx, dword [esi + 0x44]
mov ecx, dword [esi + 0x68]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x24]
lea edx, [ebx - 1]
lea edi, [eax + 0x45]
lea eax, [ebx*8]
and ecx, 0xfffffff
xor ebx, ebx
and edx, 0x1fffffff
nop
cmp ecx, edx
jbe 0x49bfb2
cmp byte [edi], 1
sbb ebx, 0xffffffff
add edi, 0x50
add eax, 0xfffffff8
jne 0x498060
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 4]
test ebx, ebx
je 0x498342
test eax, 0x200
jne 0x49809b
mov eax, dword [esi + 0x14]
test byte [eax + 0x149], 2
je 0x497f37
mov ecx, dword [esi + 0x14]
xor eax, eax
cmp dword [ecx + 0x98], 0x80000000
sete al
shl eax, 7
mov edx, dword [eax + ecx + 0xa0]
mov edi, dword [eax + ecx + 0x9c]
test edx, edx
mov dword [esi + 0x24], edx
je 0x49a9fe
js 0x49c298
movzx eax, byte [0x5fd2ec]
mov edx, dword [esi + 0x24]
xor ecx, ecx
call fcn.0056a9f0
test eax, eax
je 0x49c2ac
mov edx, dword [esi + 0x34]
mov ecx, eax
mov ebx, dword [edx + 0xc]
jmp 0x49aa07
cmp edx, 2
jb 0x49839a
mov edx, dword [esi + 0xc]
imul ecx, ecx, 0x11c
mov dword [esi + 0x20], ecx
mov ecx, eax
mov dword [esi + 0x10], edx
jmp 0x49813b
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
add eax, 8
add ecx, 0x50
mov dword [esi + 0x10], eax
cmp eax, dword [esi + 0x50]
mov eax, dword [esi + 0x24]
je 0x49839a
cmp ecx, dword [esi + 0xa8]
je 0x49c078
cmp byte [ecx + 0x45], 0
mov dword [esi + 0x18], ecx
je 0x498120
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x40]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
jmp 0x49817e
add edi, 0x11c
add ebx, 0xfffffee4
je 0x498120
cmp dword [edi + 0x100], eax
jne 0x498170
push eax
push dword [esi + 4]
push dword [edi + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 8]
jne 0x498170
test byte [edi + 0x105], 0x40
je 0x498120
lea eax, [esi + 0xe8]
lea edx, [esi + 0x70]
mov ecx, edi
mov dword [esi + 0xe8], 0
mov dword [esi + 0xec], 1
mov dword [esi + 0x8c], 0
mov dword [esi + 0x80], 0x20
mov byte [esi + 0x90], 3
mov dword [esi + 0x70], 0
mov dword [esi + 0x78], 0
mov dword [esi + 0xf0], 0
mov dword [esi + 0x1d0], 0x27
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], 0x58eb18
call fcn.0046ab10
test al, al
jne 0x49c388
movsd xmm0, qword [esi + 0xe8]
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0x14]
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 4
mov dword [esi + 0xb8], 0
movsd qword [esi + 0x58], xmm0
mov dword [esi + 0x60], eax
movdqa xmm0, xmmword [0x589280]
mov edx, dword [ecx + 0x7c]
mov eax, dword [ecx + 0x78]
mov ecx, 0xffffffff
shl edx, 4
nop word cs:[eax + eax]
nop dword [eax]
test edx, edx
je 0x49bced
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb edi, xmm1
cmp edi, 0xffff
jne 0x498280
mov eax, dword [esi + 0x14]
mov edx, dword [eax + 0x88]
mov dword [esi + 0x1d0], 0x26
cmp ecx, edx
jae 0x49bf9c
mov eax, dword [eax + 0x84]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov byte [esi + 0x4c], 1
push edx
call dword [eax + 0x20]
add esp, 4
mov edx, dword [edx + 0xc]
mov byte [esi + 0x4c], 1
lea ecx, [esi + 0x190]
push eax
push ecx
mov dword [esi + 0xc], eax
call edx
mov ebx, dword [esi + 0xc]
add esp, 8
test ebx, ebx
je 0x49832f
mov eax, dword [esi + 0x19c]
mov ecx, dword [esi + 0x198]
mov edi, dword [esi + 0x190]
mov edx, dword [esi + 0x194]
xor edi, 0x79916b1f
xor ecx, 0x721300f2
xor edx, 0x5ece47c5
xor eax, 0x48efe268
or ecx, edi
or eax, edx
or eax, ecx
je 0x49bcef
mov ecx, 0x58f1dc
mov byte [esi + 0x4c], 1
call fcn.0057fb10
jmp 0x49c3e6
mov dword [esi + 0x1d0], 3
lea ecx, [esi + 0x1b4]
push 0
call fcn.0049f400
add esp, 4
mov eax, dword [esi + 0x34]
mov edx, dword [eax + 0xc]
lea eax, [esi + 0x1b4]
mov ecx, 0xd
push eax
call fcn.0049fca0
add esp, 4
mov edi, eax
jmp 0x499193
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x68]
dec ecx
and eax, 0xfffffff
and ecx, 0x1fffffff
cmp eax, ecx
mov eax, dword [esi + 0x24]
jbe 0x49bf83
mov ecx, dword [esi + 0xc]
jmp 0x4983af
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x18]
cmp ecx, dword [esi + 0x50]
je 0x49848b
cmp eax, dword [esi + 0xa8]
je 0x49bf29
cmp byte [eax + 0x45], 0
mov dword [esi + 0x20], ecx
lea ecx, [ecx + 8]
mov dword [esi + 0x10], ecx
lea ecx, [eax + 0x50]
mov dword [esi + 0x18], ecx
je 0x4983a0
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x4983a0
mov ecx, dword [esi + 0x14]
imul ebx, eax, 0x11c
mov edi, dword [ecx + 0x48]
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
add edi, 0x100
mov dword [esi + 4], edx
mov dword [esi + 8], ecx
jmp 0x49840e
add edi, 0x11c
add ebx, 0xfffffee4
je 0x4983a0
cmp dword [edi], ecx
jne 0x498400
push ecx
push dword [esi + 4]
push dword [edi - 4]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x498400
mov eax, dword [esi + 0x34]
mov edi, ecx
mov dword [esi + 0x1d0], 3
lea ecx, [esi + 0x160]
lea edx, [esi + 0x144]
mov eax, dword [eax + 0xc]
push edi
push dword [esi + 4]
push eax
call fcn.004a0090
add esp, 0xc
mov eax, dword [esi + 0x168]
mov edx, dword [esi + 0x164]
mov edi, dword [esi + 0x20]
test eax, eax
jne 0x49aaaa
cmp dword [esi + 0x160], 0
je 0x4983a0
push edx
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4983a0
mov eax, dword [esi + 0x34]
mov eax, dword [eax + 0xc]
test byte [eax + 0x145], 0x10
jne 0x4984b2
test byte [eax + 0x149], 0x10
sete al
mov ecx, dword [esi + 0x24]
cmp dword [esi + 0x38], 0
jne 0x4984c1
jmp 0x49853f
xor eax, eax
mov ecx, dword [esi + 0x24]
cmp dword [esi + 0x38], 0
je 0x49853f
test al, al
jne 0x49853f
cmp dword [esi + 0x144], 0
je 0x4984e2
push dword [esi + 0x148]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0x158]
mov eax, dword [esi + 0x154]
test ebx, ebx
mov dword [esi + 0xc], eax
je 0x49851e
mov eax, dword [esi + 0xc]
lea edi, [eax + 4]
jmp 0x498506
add edi, 0xc
dec ebx
je 0x49851e
cmp dword [edi - 4], 0
je 0x498500
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x498500
cmp dword [esi + 0x150], 0
je 0x498538
push dword [esi + 0xc]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
xor eax, eax
jmp 0x49920b
mov eax, dword [esi + 0xc]
mov dword [esi + 0x120], ecx
mov dword [esi + 0x128], eax
nop
mov eax, dword [esi + 0x128]
mov edx, dword [esi + 0x120]
cmp eax, dword [esi + 0x50]
je 0x498c9e
cmp edx, dword [esi + 0xa8]
je 0x49bf42
cmp byte [edx + 0x45], 0
lea ecx, [eax + 8]
mov dword [esi + 0x18], edx
mov dword [esi + 0x128], ecx
lea ecx, [edx + 0x50]
mov dword [esi + 0x120], ecx
je 0x498550
mov ecx, dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xc]
mov dword [esi + 4], edx
mov edx, dword [eax + 4]
mov dword [esi + 0x10], ecx
mov ecx, dword [ecx + 0x4c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x4989d0
mov eax, dword [esi + 0x10]
imul ebx, ecx, 0x11c
mov dword [esi + 0x64], ebx
mov edi, dword [eax + 0x48]
mov dword [esi + 0x40], edi
jmp 0x4985d2
add edi, 0x11c
add ebx, 0xfffffee4
je 0x4989d0
cmp dword [edi + 0x100], edx
jne 0x4985c0
push edx
push dword [esi + 4]
push dword [edi + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x4985c0
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 4
mov dword [esi + 0x60], 0
xor ecx, ecx
mov edx, 4
movzx eax, byte [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x49c129
add edi, 0xfc
mov dword [esi + 0x14], eax
mov dword [esi + 0x38], 0
mov dword [esi + 0x2c], 4
mov dword [eax], edi
mov dword [esi + 0xb0], 1
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0xe8], 0
mov dword [esi + 0xec], 4
mov dword [esi + 0xf0], 0
movzx ecx, byte [eax + 0x45]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x40]
mov dword [esi + 0x48], eax
lea eax, [eax + eax*2]
mov byte [esi + 0x12c], cl
mov dword [esi + 0x30], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x10], eax
mov eax, 1
jmp 0x4986ae
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x498b1d
mov edx, dword [esi + 0x14]
lea ecx, [eax - 1]
cmp dword [esi + 0x38], 0
mov dword [esi + 0xb8], ecx
mov eax, dword [edx + eax*4 - 4]
mov dword [esi + 8], eax
je 0x498710
mov eax, dword [esi + 8]
xor ebx, ebx
mov edi, dword [eax + 4]
mov eax, dword [esi + 0x38]
lea ecx, [eax*4]
mov dword [esi + 4], ecx
jmp 0x4986e7
add ebx, 4
cmp ecx, ebx
je 0x498710
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + ebx]
cmp dword [eax + 4], edi
jne 0x4986e0
push edi
mov ecx, dword [esi + 8]
push dword [ecx]
push dword [eax]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x4986e0
jmp 0x4986a0
mov edx, dword [esi + 0x38]
cmp edx, dword [esi + 0x58]
jne 0x498740
lea ecx, [esi + 0x58]
mov dword [esi + 0x1d0], 0x12
call fcn.00418bd0
mov eax, dword [esi + 0x5c]
mov edx, dword [esi + 0x60]
jmp 0x498743
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 8]
mov dword [esi + 0x2c], eax
mov edi, dword [esi + 0x64]
mov ebx, dword [esi + 0x40]
mov dword [eax + edx*4], ecx
inc edx
mov dword [esi + 0x60], edx
mov dword [esi + 0x38], edx
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
jmp 0x498782
add ebx, 0x11c
add edi, 0xfffffee4
je 0x4986a0
cmp dword [ebx + 0x100], eax
jne 0x498770
push eax
push dword [esi + 4]
push dword [ebx + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 8]
jne 0x498770
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 0x64]
shl eax, 4
mov dword [esi + 0x20], ecx
add eax, ecx
mov dword [esi + 0x28], eax
jmp 0x4987e6
mov edx, dword [esi + 0xf0]
mov ebx, dword [esi + 0xc0]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xec]
mov dword [eax + edx*8], ebx
mov dword [eax + edx*8 + 4], ecx
mov eax, dword [esi + 0x28]
inc edx
mov dword [esi + 0xf0], edx
cmp dword [esi + 0x20], eax
je 0x4986a0
cmp byte [esi + 0x12c], 0
je 0x4989b2
mov ecx, dword [esi + 0x20]
jmp 0x49881e
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x20]
cmp ecx, eax
je 0x4986a0
cmp dword [ecx], 0
lea eax, [ecx + 0x10]
mov dword [esi + 8], ecx
mov dword [esi + 0x20], eax
je 0x4988d0
cmp dword [esi + 0x48], 0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ecx
mov dword [esi + 0x80], 0
je 0x498810
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x1d0], 0x12
nop dword [eax]
mov eax, dword [ecx + 4]
mov dword [esi + 4], ecx
mov ecx, dword [ecx + 8]
mov edx, dword [esi + 8]
shl ecx, 4
mov dword [esi + 0x78], eax
add ecx, eax
lea eax, [esi + 0x78]
mov dword [esi + 0x7c], ecx
mov ecx, dword [esi + 0x18]
push eax
call fcn.00475600
add esp, 4
test al, al
jne 0x4988d0
mov ecx, dword [esi + 4]
add ecx, 0xc
cmp ecx, dword [esi + 0x10]
jne 0x498860
mov eax, dword [esi + 0x10]
mov dword [esi + 0x70], eax
mov dword [esi + 0x78], 0
cmp dword [esi + 0x80], 0
je 0x498810
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 8]
lea eax, [esi + 0x80]
push eax
call fcn.00475600
add esp, 4
test al, al
je 0x498810
nop dword [eax]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0x64]
mov edx, dword [esi + 0x40]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
mov eax, dword [esi + 0x14]
mov dword [esi + 8], ecx
jmp 0x4988fe
add edx, 0x11c
add edi, 0xfffffee4
je 0x49897d
cmp dword [edx + 0x100], ecx
jne 0x4988f0
push ecx
push ebx
push dword [edx + 0xfc]
mov dword [esi + 4], edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 4]
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
mov eax, dword [esi + 0x14]
jne 0x4988f0
cmp dword [edx + 0x68], 0
je 0x49897d
mov edx, dword [esi + 0xb8]
cmp edx, dword [esi + 0xb0]
jne 0x498964
lea ecx, [esi + 0xb0]
mov dword [esi + 0xc0], ebx
mov dword [esi + 0x1d0], 0x12
call fcn.00418bd0
mov edx, dword [esi + 0xb8]
mov ebx, dword [esi + 0xc0]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 4]
mov eax, dword [esi + 0xb4]
add edi, 0xfc
mov dword [eax + edx*4], edi
inc edx
mov dword [esi + 0xb8], edx
mov edx, dword [esi + 0xf0]
mov dword [esi + 0x14], eax
cmp edx, dword [esi + 0xe8]
jne 0x4987cf
lea ecx, [esi + 0xe8]
mov dword [esi + 0xc0], ebx
mov dword [esi + 0x1d0], 0x12
call fcn.00418c70
jmp 0x4987c0
mov ecx, dword [esi + 0x20]
nop word cs:[eax + eax]
nop
add ecx, 0x10
cmp ecx, eax
jne 0x4989c0
jmp 0x4986a0
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 0x70]
test eax, eax
je 0x498550
mov edi, dword [ecx + 0x6c]
shl eax, 4
lea ebx, [eax + eax*2]
jmp 0x4989fc
add edi, 0x30
add ebx, 0xffffffd0
je 0x498550
cmp dword [edi + 0x28], edx
jne 0x4989f0
push edx
push dword [esi + 4]
push dword [edi + 0x24]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x4989f0
mov eax, dword [edi + 0x14]
test eax, eax
je 0x498550
mov edx, dword [esi + 0x34]
mov edi, dword [edi + 0x10]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
lea eax, [edi + eax*8]
mov dword [esi + 0x2c], eax
jmp 0x498a7e
mov ebx, dword [esi + 8]
lea eax, [edx + edx*4]
mov edi, dword [esi + 0x20]
inc edx
mov dword [ecx + eax*4], 0
mov dword [ecx + eax*4 + 4], 4
mov dword [ecx + eax*4 + 8], 0
mov dword [ecx + eax*4 + 0xc], ebx
mov ebx, dword [esi + 4]
mov dword [ecx + eax*4 + 0x10], ebx
mov ebx, dword [esi + 0x34]
mov dword [ebx + 8], edx
add edi, 8
cmp edi, dword [esi + 0x2c]
je 0x498550
mov eax, dword [edi]
mov dword [esi + 0x20], edi
mov edi, dword [edi + 4]
test edx, edx
mov dword [esi + 0x14], edx
mov dword [esi + 8], eax
mov dword [esi + 4], edi
je 0x498af0
mov eax, dword [esi + 0x14]
xor ebx, ebx
xor edi, edi
mov dword [esi + 0x10], ecx
lea eax, [eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [esi + 0x18], edx
jmp 0x498ab8
add ebx, 0x14
inc edi
cmp edx, ebx
je 0x498af0
cmp dword [ecx + ebx + 0x10], eax
jne 0x498ab0
push eax
push dword [esi + 8]
push dword [ecx + ebx + 0xc]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
mov eax, dword [esi + 4]
jne 0x498ab0
mov edi, dword [esi + 0x20]
mov edx, dword [esi + 0x14]
add edi, 8
cmp edi, dword [esi + 0x2c]
jne 0x498a7e
jmp 0x498550
mov eax, dword [esi + 0x34]
mov edx, dword [esi + 0x14]
cmp edx, dword [eax]
jne 0x498a40
mov ecx, eax
mov dword [esi + 0x1d0], 3
call fcn.004aaea0
mov eax, dword [esi + 0x34]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
jmp 0x498a40
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xec]
mov edi, dword [esi + 0xf0]
cmp dword [esi + 0xb0], 0
mov dword [esi + 0x28], eax
mov dword [esi + 0x30], ecx
je 0x498b52
push dword [esi + 0xb4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x58], 0
je 0x498b69
push dword [esi + 0x5c]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
test edi, edi
je 0x498c7e
mov ecx, dword [esi + 0x30]
lea eax, [ecx + edi*8]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x34]
mov edi, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, edi
mov edi, ecx
jmp 0x498bd2
mov edi, dword [esi + 0x20]
mov ecx, eax
mov ebx, dword [esi + 4]
lea eax, [edx + edx*4]
inc edx
mov dword [ecx + eax*4], 0
mov dword [ecx + eax*4 + 4], 4
mov dword [ecx + eax*4 + 8], 0
mov dword [ecx + eax*4 + 0xc], ebx
mov ebx, dword [esi + 8]
mov dword [ecx + eax*4 + 0x10], ebx
mov eax, dword [esi + 0x34]
mov dword [eax + 8], edx
mov eax, ecx
add edi, 8
cmp edi, dword [esi + 0x2c]
je 0x498c7e
mov ecx, dword [edi]
test edx, edx
mov dword [esi + 0x20], edi
mov dword [esi + 0x14], edx
mov dword [esi + 4], ecx
mov ecx, dword [edi + 4]
mov dword [esi + 8], ecx
je 0x498c50
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
xor ebx, ebx
xor edi, edi
lea eax, [eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x10]
mov dword [esi + 0x18], edx
jmp 0x498c18
add ebx, 0x14
inc edi
cmp edx, ebx
je 0x498c50
cmp dword [eax + ebx + 0x10], ecx
jne 0x498c10
push ecx
push dword [esi + 4]
push dword [eax + ebx + 0xc]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
mov eax, dword [esi + 0x10]
jne 0x498c10
mov edi, dword [esi + 0x20]
mov edx, dword [esi + 0x14]
add edi, 8
cmp edi, dword [esi + 0x2c]
jne 0x498bd2
jmp 0x498c7e
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x14]
cmp edx, dword [ecx]
jne 0x498b90
mov dword [esi + 0x1d0], 0x10
call fcn.004aaea0
mov eax, dword [esi + 0x34]
mov edi, dword [esi + 0x20]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
jmp 0x498b95
cmp dword [esi + 0x28], 0
je 0x498550
push dword [esi + 0x30]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x498550
cmp dword [esi + 0x44], 0
mov edi, dword [esi + 0x34]
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc8], 4
mov dword [esi + 0x38], 0
mov dword [esi + 0xcc], 0
je 0x4992a7
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x499234
mov eax, dword [eax + 0x48]
mov dword [esi + 0x14], eax
imul eax, ecx, 0x11c
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x10], ecx
jmp 0x498d1b
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x34]
add ecx, 8
add eax, 0x50
cmp ecx, dword [esi + 0x50]
mov dword [esi + 0x10], ecx
je 0x4992a7
cmp eax, dword [esi + 0xa8]
je 0x49bfcb
cmp byte [eax + 0x45], 0
mov dword [esi + 0x18], eax
je 0x498d00
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
jmp 0x498d5e
add edi, 0x11c
add ebx, 0xfffffee4
je 0x498d00
cmp dword [edi + 0x100], eax
jne 0x498d50
push eax
push dword [esi + 4]
push dword [edi + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 8]
jne 0x498d50
test byte [edi + 0x105], 0x40
je 0x498d00
mov edi, dword [esi + 0x34]
mov al, 1
mov dword [esi + 0x40], eax
jmp 0x4992ae
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 4
mov dword [esi + 0x60], 0
mov edi, 4
xor ecx, ecx
shl ecx, 2
lea ecx, [ecx + ecx*8]
lea ebx, [edi + ecx]
nop word cs:[eax + eax]
nop
test ecx, ecx
je 0x498e8a
add ecx, 0xffffffdc
cmp byte [edi + 0x20], 0
lea eax, [edi + 0x24]
mov edi, eax
jne 0x498e30
mov edx, dword [eax - 8]
mov ecx, dword [eax - 0xc]
mov dword [esi + 0xc], eax
test edx, edx
je 0x498ec8
mov dword [esi + 0x10], ecx
js 0x49c1cd
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov edi, edx
call fcn.0056a9f0
mov ecx, dword [esi + 0x10]
mov edx, edi
test eax, eax
jne 0x498ecd
mov ecx, 1
mov dword [esi + 0x1d0], 0x28
call fcn.0057f230
jmp 0x49c3e6
mov ecx, dword [esi + 4]
mov dword [esi + 0xd8], 0
mov dword [esi + 0xdc], 4
mov dword [esi + 0xe0], 0
mov dword [esi + 0x1d0], 0x2a
mov dword [esi + 8], 4
mov dword [esi + 0x10], 0
jmp 0x499005
mov eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 8], edx
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov edx, 0x30
call fcn.0056a9f0
test eax, eax
je 0x49c1af
mov edi, eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
mov dword [esi + 8], 1
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ecx, dword [esi + 4]
mov dword [edi + 8], eax
mov dword [esi + 0x70], 4
mov dword [esi + 0x74], edi
mov dword [esi + 0x78], 1
mov eax, dword [esi + 0xc]
nop word [eax + eax]
cmp eax, ebx
je 0x498fd9
cmp byte [eax + 0x20], 0
lea edx, [eax + 0x24]
mov eax, edx
jne 0x498f30
mov dword [esi + 0x10], ebx
mov ebx, dword [edx - 8]
mov ecx, dword [edx - 0xc]
mov dword [esi + 0xc], edx
test ebx, ebx
je 0x498f78
mov dword [esi + 0x18], ecx
js 0x49c1e1
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov edx, ebx
call fcn.0056a9f0
mov ecx, dword [esi + 0x18]
test eax, eax
jne 0x498f7d
jmp 0x49c1fe
mov eax, 1
mov dword [esi + 0x18], ebx
push ebx
push ecx
mov dword [esi + 0x20], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 8]
cmp edx, dword [esi + 0x70]
jne 0x498fb3
mov dword [esi + 0x1d0], 0x2c
lea ecx, [esi + 0x70]
push 1
call fcn.0057f5d0
add esp, 4
mov edi, dword [esi + 0x74]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
lea eax, [edx + edx*2]
inc edx
mov dword [esi + 8], edx
mov dword [edi + eax*4], ecx
mov dword [edi + eax*4 + 4], ebx
mov dword [edi + eax*4 + 8], ecx
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 0x10]
mov dword [esi + 0x78], edx
jmp 0x498f24
mov eax, dword [esi + 0x78]
movq xmm0, qword [esi + 0x70]
mov dword [esi + 0x1d0], 0x2a
mov dword [esi + 0xe0], eax
movq qword [esi + 0xd8], xmm0
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xdc]
mov dword [esi + 8], eax
lea edx, [esi + 0x70]
lea eax, [esi + 0xe8]
mov dword [esi + 0xe8], 0
mov dword [esi + 0xec], 1
mov dword [esi + 0x8c], 0
mov dword [esi + 0x80], 0x20
mov byte [esi + 0x90], 3
mov dword [esi + 0x70], 0
mov dword [esi + 0x78], 0
mov dword [esi + 0xf0], 0
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], 0x58eb18
call fcn.0046ab10
test al, al
jne 0x49c16a
mov eax, dword [esi + 0xf0]
movq xmm0, qword [esi + 0xe8]
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 1
mov dword [esi + 0x78], 0
mov dword [esi + 0x1d0], 0x29
lea edx, [esi + 0x70]
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xb0]
movq qword [esi + 0xb0], xmm0
push eax
push dword [esi + 0x10]
push dword [esi + 8]
call fcn.0046acb0
add esp, 0xc
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x10]
test ebx, ebx
je 0x4990fe
mov eax, dword [esi + 8]
lea edi, [eax + 4]
jmp 0x4990e6
add edi, 0xc
dec ebx
je 0x4990fe
cmp dword [edi - 4], 0
je 0x4990e0
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4990e0
cmp dword [esi + 0xd8], 0
je 0x499118
push dword [esi + 8]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0x60]
mov eax, dword [esi + 0x5c]
test ebx, ebx
mov dword [esi + 4], eax
je 0x499179
mov eax, dword [esi + 4]
lea edi, [eax + 0x10]
jmp 0x499136
add edi, 0x24
dec ebx
je 0x499179
test dword [edi - 4], 0x7fffffff
jne 0x499150
cmp dword [edi - 0x10], 0
jne 0x499166
jmp 0x499130
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [edi - 0x10], 0
je 0x499130
push dword [edi - 0xc]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x499130
cmp dword [esi + 0x58], 0
mov edi, dword [esi + 0xc]
je 0x499193
push dword [esi + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x144], 0
mov dword [esi + 0xc], edi
je 0x4991b3
push dword [esi + 0x148]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0x158]
mov eax, dword [esi + 0x154]
test ebx, ebx
mov dword [esi + 4], eax
je 0x4991ee
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x4991d6
add edi, 0xc
dec ebx
je 0x4991ee
cmp dword [edi - 4], 0
je 0x4991d0
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4991d0
cmp dword [esi + 0x150], 0
je 0x499208
push dword [esi + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x1c8]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x68]
lea edx, [ecx - 1]
and eax, 0xfffffff
mov ecx, dword [esi + 0xc]
and edx, 0x1fffffff
cmp eax, edx
cmovb edx, eax
mov eax, dword [esi + 0x24]
cmp edx, 0x20
jb 0x499285
inc edx
mov ecx, 0x20
mov eax, edx
and eax, 0x1f
cmovne ecx, eax
sub edx, ecx
mov ecx, dword [esi + 0xc]
lea eax, [edx + edx*4]
shl eax, 4
add eax, dword [esi + 0x24]
lea ecx, [ecx + edx*8]
nop word [eax + eax]
add edx, 0xffffffe0
jne 0x499280
add eax, 0xffffffb0
nop dword [eax + eax]
add eax, 0x50
cmp eax, dword [esi + 0xa8]
je 0x49bfcb
add ecx, 8
cmp ecx, dword [esi + 0x50]
jne 0x499290
mov dword [esi + 0x40], 0
mov eax, dword [edi + 8]
mov ebx, dword [edi + 4]
mov dword [esi + 0x64], 4
mov dword [esi + 0x124], 0
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x44]
lea eax, [eax*8]
mov dword [esi + 0x20], eax
jmp 0x499300
mov ebx, dword [esi + 0x18]
mov eax, dword [esi + 0xc8]
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], edi
inc edx
mov dword [esi + 0x64], eax
mov dword [esi + 0x38], edx
mov dword [esi + 0xcc], edx
nop word [eax + eax]
cmp dword [esi + 0x44], 0
je 0x4993a0
mov ecx, dword [esi + 0x34]
mov eax, ebx
cmp eax, dword [esi + 0x30]
je 0x49979f
mov edx, dword [eax + 0xc]
mov ebx, dword [esi + 0x20]
lea ecx, [eax + 0x14]
xor edi, edi
mov dword [esi + 0x18], ecx
mov dword [esi + 8], edx
mov edx, dword [eax + 0x10]
mov dword [esi + 4], edx
jmp 0x499346
inc edi
add ebx, 0xfffffff8
je 0x499390
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*8 + 4], edx
jne 0x499340
push edx
push dword [esi + 8]
mov eax, dword [esi + 0xc]
push dword [eax + edi*8]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x499340
cmp edi, dword [esi + 0x68]
jae 0x49bdda
mov ecx, dword [esi + 0x24]
lea eax, [edi + edi*4]
mov edi, dword [esi + 0x18]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
mov ecx, dword [esi + 0x34]
mov eax, edi
jne 0x49930f
jmp 0x4993b8
mov ecx, dword [esi + 0x34]
mov edi, dword [esi + 0x18]
jmp 0x4993b8
cmp ebx, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
je 0x49979f
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
lea edi, [ebx + 0x14]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x18], edi
mov dword [esi + 4], edx
mov dword [esi + 0x14], eax
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x499490
mov ecx, dword [esi + 0x14]
imul edi, eax, 0x11c
mov ecx, dword [ecx + 0x48]
jmp 0x4993f2
add ecx, 0x11c
add edi, 0xfffffee4
je 0x499490
cmp dword [ecx + 0x100], edx
jne 0x4993e0
mov ebx, dword [ecx + 0xfc]
push edx
push dword [esi + 8]
push ebx
mov dword [esi + 0x10], ecx
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x4993e0
mov dword [esi + 8], ebx
cmp byte [esi + 0x40], 0
mov edi, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
jne 0x499300
mov eax, edx
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
lea ecx, [esi + 0x70]
lea edx, [esi + 0x144]
push eax
push dword [esi + 8]
push edi
call fcn.004a0090
add esp, 0xc
cmp dword [esi + 0x78], 0
mov eax, dword [esi + 0x70]
je 0x499612
mov ebx, dword [esi + 0x18]
test eax, eax
je 0x499300
push dword [esi + 0x74]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x499300
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
mov eax, dword [ecx + 0x70]
test eax, eax
je 0x499300
mov ecx, dword [ecx + 0x6c]
shl eax, 4
lea edi, [eax + eax*2]
mov eax, ecx
jmp 0x4994bc
add eax, 0x30
add edi, 0xffffffd0
je 0x499300
cmp dword [eax + 0x28], edx
jne 0x4994b0
push edx
push dword [esi + 8]
push dword [eax + 0x24]
mov dword [esi + 0x10], eax
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 4]
add esp, 0xc
test eax, eax
mov eax, dword [esi + 0x10]
jne 0x4994b0
mov edx, dword [esi + 0x14]
add eax, 0x24
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
lea ecx, [esi + 0x70]
push eax
call fcn.00475cf0
add esp, 4
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x74]
mov dword [esi + 0x28], eax
je 0x4995b0
mov eax, dword [esi + 0x78]
test eax, eax
je 0x4995b0
mov ecx, dword [esi + 0x28]
lea eax, [ecx + eax*8]
mov dword [esi + 0x2c], eax
mov eax, ecx
jmp 0x499538
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x2c]
je 0x4995b0
mov ecx, dword [eax]
mov ebx, dword [esi + 0x20]
xor edi, edi
mov dword [esi + 4], ecx
mov ecx, dword [eax + 4]
add eax, 8
mov dword [esi + 0x14], eax
mov dword [esi + 8], ecx
jmp 0x499556
inc edi
add ebx, 0xfffffff8
je 0x499530
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*8 + 4], ecx
jne 0x499550
push ecx
push dword [esi + 4]
mov eax, dword [esi + 0xc]
push dword [eax + edi*8]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x499550
cmp edi, dword [esi + 0x68]
jae 0x49bd94
mov ecx, dword [esi + 0x24]
lea eax, [edi + edi*4]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
je 0x499530
cmp dword [esi + 0x70], 0
je 0x4995a8
push dword [esi + 0x28]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0x18]
jmp 0x499300
cmp dword [esi + 0x70], 0
je 0x4995c7
push dword [esi + 0x28]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x38]
mov ecx, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
cmp edx, dword [esi + 0xc4]
jne 0x4992dd
mov dword [esi + 4], ecx
lea ecx, [esi + 0xc4]
mov dword [esi + 8], edi
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
call fcn.00418c70
mov edx, dword [esi + 0xcc]
mov ebx, dword [esi + 0x18]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 8]
jmp 0x4992e0
test eax, eax
je 0x499627
push dword [esi + 0x74]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x70]
test eax, eax
je 0x499702
mov edx, dword [esi + 0x14]
lea eax, [eax + eax*2]
shl eax, 4
mov edx, dword [edx + 0x6c]
add eax, edx
mov dword [esi + 0x48], eax
jmp 0x49965e
mov eax, dword [esi + 0x2c]
cmp eax, dword [esi + 0x48]
mov edx, eax
je 0x499702
mov ebx, dword [edx + 8]
lea eax, [edx + 0x30]
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], eax
test ebx, ebx
je 0x499650
mov eax, dword [esi + 0x28]
shl ebx, 3
mov edi, dword [eax + 4]
add edi, 4
jmp 0x499688
add edi, 8
add ebx, 0xfffffff8
je 0x499650
cmp dword [edi], ecx
jne 0x499680
push ecx
push dword [esi + 8]
push dword [edi - 4]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x499680
mov ecx, dword [esi + 0x28]
lea edx, [esi + 0x144]
mov edi, dword [ecx + 0x28]
mov eax, dword [ecx + 0x24]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
lea ecx, [esi + 0x70]
push edi
push eax
push dword [esi + 0x14]
call fcn.004a0090
add esp, 0xc
cmp dword [esi + 0x78], 0
mov eax, dword [esi + 0x70]
jne 0x499460
test eax, eax
je 0x4996f1
push dword [esi + 0x74]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 4]
cmp eax, dword [esi + 0x48]
mov edx, eax
jne 0x49965e
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x38]
mov eax, dword [ecx + 0x100]
mov edi, dword [ecx + 0xfc]
cmp edx, dword [esi + 0xc4]
mov dword [esi + 4], eax
jne 0x499752
lea ecx, [esi + 0xc4]
mov dword [esi + 8], edi
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
call fcn.00418c70
mov eax, dword [esi + 0xc8]
mov edx, dword [esi + 0xcc]
mov ebx, dword [esi + 0x18]
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 8]
jmp 0x499758
mov ebx, dword [esi + 0x18]
mov eax, dword [esi + 0x64]
mov dword [eax + edx*8], edi
mov edi, dword [esi + 4]
mov dword [esi + 0x64], eax
mov dword [eax + edx*8 + 4], edi
inc edx
mov dword [esi + 0xcc], edx
mov dword [esi + 0x38], edx
test byte [ecx + 0x105], 1
jne 0x499300
cmp dword [ecx + 0x14], 0
je 0x499787
mov eax, dword [ecx + 0x18]
jmp 0x499789
xor eax, eax
mov ecx, dword [esi + 0x124]
cmp ecx, eax
cmovbe ecx, eax
mov dword [esi + 0x124], ecx
jmp 0x499300
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + 0x48]
imul eax, dword [eax + 0x4c], 0x11c
add eax, ecx
mov dword [esi + 0x120], ecx
mov dword [esi + 0x128], eax
mov eax, dword [esi + 0x44]
lea eax, [eax*8]
mov dword [esi + 0x38], eax
jmp 0x4997f7
mov eax, dword [esi + 0xc8]
mov dword [eax + edx*8], ecx
mov ecx, dword [esi + 0xc0]
mov dword [eax + edx*8 + 4], edi
inc edx
mov dword [esi + 0xcc], edx
test byte [ecx + 0x105], 1
je 0x499fc4
cmp dword [esi + 0x44], 0
je 0x4998a0
mov edx, dword [esi + 0x120]
mov eax, dword [esi + 0x34]
cmp edx, dword [esi + 0x128]
je 0x499fed
mov ecx, edx
mov ecx, dword [edx + 0xfc]
mov ebx, dword [esi + 0x38]
lea eax, [edx + 0x11c]
xor edi, edi
mov dword [esi + 0xc0], edx
mov dword [esi + 0x10], eax
mov dword [esi + 4], ecx
mov ecx, dword [edx + 0x100]
mov dword [esi + 8], ecx
jmp 0x499846
inc edi
add ebx, 0xfffffff8
je 0x499890
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*8 + 4], ecx
jne 0x499840
push ecx
push dword [esi + 4]
mov eax, dword [esi + 0xc]
push dword [eax + edi*8]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x499840
cmp edi, dword [esi + 0x68]
jae 0x49bdff
mov ecx, dword [esi + 0x24]
lea eax, [edi + edi*4]
mov edx, dword [esi + 0x10]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
mov eax, dword [esi + 0x34]
jne 0x49980a
jmp 0x4998c1
mov edx, dword [esi + 0x10]
jmp 0x4998c1
mov ecx, dword [esi + 0x120]
mov eax, dword [esi + 0x34]
cmp ecx, dword [esi + 0x128]
je 0x499fed
lea edx, [ecx + 0x11c]
mov dword [esi + 0xc0], ecx
mov eax, dword [esi + 0xc0]
mov dword [esi + 0x120], edx
mov dword [esi + 0x12c], 0
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x74]
shl eax, 4
mov dword [esi + 0x28], ecx
add eax, ecx
mov dword [esi + 0x48], eax
jmp 0x499900
mov al, 1
mov dword [esi + 0x12c], eax
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x48]
je 0x499b50
cmp dword [esi + 0x44], 0
lea ecx, [eax + 0x10]
mov dword [esi + 0x28], ecx
je 0x499900
mov ecx, dword [eax + 8]
mov ebx, dword [esi + 0x38]
xor edi, edi
mov dword [esi + 0x30], ecx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x18], ecx
mov ecx, dword [eax]
mov dword [esi + 4], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 8], ecx
jmp 0x499946
inc edi
add ebx, 0xfffffff8
je 0x499900
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*8 + 4], ecx
jne 0x499940
push ecx
push dword [esi + 4]
mov eax, dword [esi + 0xc]
push dword [eax + edi*8]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x499940
cmp edi, dword [esi + 0x68]
jae 0x49b5ba
mov edx, dword [esi + 0x24]
lea eax, [edi + edi*4]
shl eax, 4
cmp byte [edx + eax + 0x45], 0
je 0x499900
mov ecx, dword [edx + eax + 0x40]
test ecx, ecx
je 0x499900
mov edi, dword [edx + eax + 0x3c]
lea ecx, [ecx + ecx*2]
lea eax, [edx + eax + 0x44]
mov dword [esi + 0x2c], eax
lea ecx, [edi + ecx*4]
mov eax, edi
mov dword [esi + 0x64], ecx
jmp 0x4999bf
mov eax, dword [esi + 0x40]
add eax, 0xc
cmp eax, dword [esi + 0x64]
je 0x499900
mov dword [esi + 0x40], eax
mov eax, dword [eax + 8]
test eax, eax
je 0x4999b0
mov edx, dword [esi + 0x40]
mov ecx, eax
shl ecx, 4
mov edi, dword [edx + 4]
add ecx, edi
mov dword [esi + 0x20], ecx
jmp 0x499a12
xor ebx, ebx
test dword [esi + 0x70], 0x7fffffff
mov edi, dword [esi + 0x14]
jne 0x499b0e
test dword [esi + 0xe8], 0x7fffffff
jne 0x499b2f
test bl, bl
jne 0x4998ea
add edi, 0x10
cmp edi, dword [esi + 0x20]
je 0x4999b0
mov ecx, dword [esi + 0x2c]
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
cmp byte [ecx], 0
je 0x499ad0
mov dword [esi + 0x14], edi
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
lea ecx, [esi + 0xe8]
push eax
call fcn.0056a1e0
add esp, 4
mov eax, dword [esi + 0xec]
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0x30]
mov dword [esi + 0x1d0], 6
mov dword [esi + 0x10], ecx
mov dword [esi + 4], eax
lea ecx, [esi + 0x70]
push dword [esi + 0x18]
call fcn.0056a1e0
add esp, 4
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x74]
cmp edx, dword [esi + 0x78]
mov dword [esi + 8], eax
jne 0x4999e0
neg edx
mov ecx, 0xffffffff
nop word [eax + eax]
lea edi, [edx + ecx]
cmp edi, 0xffffffff
je 0x499af5
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
movzx eax, byte [eax + ecx + 1]
mov bh, byte [edi + ecx + 1]
mov bl, al
add bl, 0xbf
cmp bl, 0x1a
mov bl, bh
setb ah
add bl, 0xbf
shl ah, 5
cmp bl, 0x1a
setb bl
or ah, al
inc ecx
shl bl, 5
or bl, bh
cmp ah, bl
je 0x499a90
jmp 0x499af8
cmp dword [esi + 0x18], eax
jne 0x499a0a
push dword [esi + 0x18]
push dword [esi + 0x30]
push edx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x499a0a
jmp 0x4998ea
mov ecx, dword [esi + 0x10]
cmp ecx, dword [esi + 0x10]
setae bl
test dword [esi + 0x70], 0x7fffffff
mov edi, dword [esi + 0x14]
je 0x4999f2
push dword [esi + 8]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esi + 0xe8], 0x7fffffff
je 0x499a02
push dword [esi + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
test bl, bl
je 0x499a0a
jmp 0x4998ea
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0x7c]
mov ecx, dword [ecx + 0x80]
mov edi, ecx
mov dword [esi + 0x40], ecx
shl edi, 4
add edi, eax
mov dword [esi + 0x28], edi
cmp eax, edi
setne byte [esi + 0x14]
je 0x499de4
cmp dword [esi + 0x44], 0
je 0x499de4
lea ecx, [eax + 0x10]
mov ebx, dword [esi + 0x38]
xor edi, edi
mov dword [esi + 0x64], ecx
mov ecx, dword [eax + 8]
mov dword [esi + 0x30], ecx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x18], ecx
mov ecx, dword [eax]
mov dword [esi + 4], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 8], ecx
jmp 0x499bba
inc edi
add ebx, 0xfffffff8
je 0x499de0
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*8 + 4], ecx
jne 0x499bb0
push ecx
push dword [esi + 4]
mov eax, dword [esi + 0xc]
push dword [eax + edi*8]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x499bb0
cmp edi, dword [esi + 0x68]
jae 0x49bdb5
mov edx, dword [esi + 0x24]
lea eax, [edi + edi*4]
shl eax, 4
cmp byte [edx + eax + 0x45], 0
je 0x499de4
mov ecx, dword [edx + eax + 0x40]
test ecx, ecx
je 0x499de4
mov edi, dword [edx + eax + 0x3c]
lea ecx, [ecx + ecx*2]
lea eax, [edx + eax + 0x44]
mov dword [esi + 0x2c], eax
lea ecx, [edi + ecx*4]
mov eax, edi
mov edi, dword [esi + 0x28]
mov dword [esi + 0x16c], ecx
jmp 0x499c42
mov eax, dword [esi + 0x48]
add eax, 0xc
cmp eax, dword [esi + 0x16c]
je 0x499de0
mov dword [esi + 0x48], eax
mov eax, dword [eax + 8]
test eax, eax
je 0x499c30
mov edx, dword [esi + 0x48]
mov ecx, eax
shl ecx, 4
mov ebx, dword [edx + 4]
add ecx, ebx
mov dword [esi + 0x20], ecx
jmp 0x499c95
xor ebx, ebx
mov edi, dword [esi + 0x28]
test dword [esi + 0x70], 0x7fffffff
jne 0x499d8b
test dword [esi + 0xe8], 0x7fffffff
jne 0x499dac
test bl, bl
mov ebx, dword [esi + 0x14]
jne 0x499dc8
add ebx, 0x10
cmp ebx, dword [esi + 0x20]
je 0x499c30
mov ecx, dword [esi + 0x2c]
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 8]
cmp byte [ecx], 0
je 0x499d50
mov dword [esi + 0x14], ebx
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
lea ecx, [esi + 0xe8]
push eax
call fcn.0056a1e0
add esp, 4
mov eax, dword [esi + 0xec]
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0x30]
mov dword [esi + 0x1d0], 7
mov dword [esi + 0x10], ecx
mov dword [esi + 4], eax
lea ecx, [esi + 0x70]
push dword [esi + 0x18]
call fcn.0056a1e0
add esp, 4
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x74]
cmp edx, dword [esi + 0x78]
mov dword [esi + 8], eax
jne 0x499c60
neg edx
mov ecx, 0xffffffff
nop dword [eax]
lea edi, [edx + ecx]
cmp edi, 0xffffffff
je 0x499d72
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
movzx eax, byte [eax + ecx + 1]
mov bh, byte [edi + ecx + 1]
mov bl, al
add bl, 0xbf
cmp bl, 0x1a
mov bl, bh
setb ah
add bl, 0xbf
shl ah, 5
cmp bl, 0x1a
setb bl
or ah, al
inc ecx
shl bl, 5
or bl, bh
cmp ah, bl
je 0x499d10
jmp 0x499d75
cmp dword [esi + 0x18], eax
jne 0x499c8d
push dword [esi + 0x18]
push dword [esi + 0x30]
push edx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x499c8d
jmp 0x499dd0
mov ecx, dword [esi + 0x10]
cmp ecx, dword [esi + 0x10]
setae bl
mov edi, dword [esi + 0x28]
test dword [esi + 0x70], 0x7fffffff
je 0x499c72
push dword [esi + 8]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esi + 0xe8], 0x7fffffff
je 0x499c82
push dword [esi + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
test bl, bl
mov ebx, dword [esi + 0x14]
je 0x499c8d
mov eax, dword [esi + 0x64]
jmp 0x499b6c
mov eax, dword [esi + 0x64]
jmp 0x499b6c
mov byte [esi + 0x14], 1
mov eax, dword [esi + 0xc0]
cmp dword [esi + 0x40], 0
mov edx, dword [eax + 0x8c]
mov eax, dword [eax + 0x98]
sete byte [esi + 0x20]
test edx, edx
mov ecx, edx
mov dword [esi + 0x18], edx
je 0x499e10
test eax, eax
jne 0x499e18
jmp 0x499eba
test eax, eax
je 0x499f51
cmp dword [esi + 0x44], 0
je 0x499eb0
mov ecx, dword [esi + 0xc0]
mov ecx, dword [ecx + 0x94]
lea eax, [ecx + eax*8]
mov dword [esi + 0x10], eax
cmp ecx, dword [esi + 0x10]
je 0x499f51
lea eax, [ecx + 8]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esi + 0x38]
xor edi, edi
mov dword [esi + 0x2c], eax
mov dword [esi + 4], edx
mov dword [esi + 8], ecx
jmp 0x499e66
inc edi
add ebx, 0xfffffff8
je 0x499eb0
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*8 + 4], ecx
jne 0x499e60
push ecx
push dword [esi + 4]
mov eax, dword [esi + 0xc]
push dword [eax + edi*8]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x499e60
cmp edi, dword [esi + 0x68]
jae 0x49be24
mov ecx, dword [esi + 0x24]
lea eax, [edi + edi*4]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
mov ecx, dword [esi + 0x2c]
jne 0x499e34
nop word cs:[eax + eax]
nop
cmp dword [esi + 0x18], 0
je 0x499f70
cmp dword [esi + 0x44], 0
je 0x499f70
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0x88]
mov eax, dword [esi + 0x18]
lea eax, [ecx + eax*8]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x18], eax
jmp 0x499eec
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0x18]
je 0x499f70
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x38]
xor edi, edi
mov ecx, dword [eax]
mov dword [esi + 4], ecx
mov ecx, dword [eax + 4]
add eax, 8
mov dword [esi + 0x10], eax
mov dword [esi + 8], ecx
jmp 0x499f16
inc edi
add ebx, 0xfffffff8
je 0x499ee0
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*8 + 4], ecx
jne 0x499f10
push ecx
push dword [esi + 4]
mov eax, dword [esi + 0xc]
push dword [eax + edi*8]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
jne 0x499f10
cmp edi, dword [esi + 0x68]
jae 0x49bd53
mov ecx, dword [esi + 0x24]
lea eax, [edi + edi*4]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
je 0x499ee0
movzx ecx, byte [esi + 0x20]
or cl, byte [esi + 0x14]
cmp byte [esi + 0x12c], 0
sete al
test cl, al
jne 0x4997f7
nop word [eax + eax]
mov eax, dword [esi + 0xc0]
mov edx, dword [esi + 0xcc]
mov ecx, dword [eax + 0xfc]
mov edi, dword [eax + 0x100]
cmp edx, dword [esi + 0xc4]
jne 0x4997d0
mov dword [esi + 4], ecx
lea ecx, [esi + 0xc4]
mov dword [esi + 8], edi
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
call fcn.00418c70
mov edx, dword [esi + 0xcc]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 8]
jmp 0x4997d0
mov eax, dword [esi + 0xc0]
cmp dword [eax + 0x14], 0
je 0x499fd5
mov eax, dword [eax + 0x18]
jmp 0x499fd7
xor eax, eax
mov ecx, dword [esi + 0x124]
cmp ecx, eax
cmovbe ecx, eax
mov dword [esi + 0x124], ecx
jmp 0x4997f7
mov eax, dword [eax + 0xc]
test byte [eax + 0x144], 0x10
jne 0x49a15d
test byte [eax + 0x148], 0x10
jne 0x49a15d
mov edi, dword [eax + 0x48]
imul eax, dword [eax + 0x4c], 0x11c
add eax, edi
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x24]
mov ebx, dword [eax + 0x28]
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
mov dword [esi + 0x28], ecx
mov ecx, edx
mov dword [esi + 0x2c], ebx
lea ebx, [ebx*8]
mov dword [esi + 0x48], eax
mov dword [esi + 0x10], edx
mov dword [esi + 0x30], ebx
jmp 0x49a053
mov edi, dword [esi + 0x14]
cmp edi, dword [esi + 0x20]
je 0x49a15d
cmp dword [edi + 0x108], 0
lea eax, [edi + 0x11c]
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], eax
jne 0x49a050
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x34], 0x110000
jne 0x49a050
mov edx, dword [esi + 0x18]
cmp dword [esi + 0x2c], 0
mov eax, dword [edx + 0xfc]
mov edx, dword [edx + 0x100]
mov dword [esi + 4], eax
mov dword [esi + 8], edx
je 0x49a0f0
mov ebx, dword [esi + 0x30]
xor edi, edi
jmp 0x49a0a6
inc edi
add ebx, 0xfffffff8
je 0x49a0f0
cmp dword [ecx + edi*8 + 4], edx
jne 0x49a0a0
push edx
push dword [esi + 4]
push dword [ecx + edi*8]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
jne 0x49a0a0
cmp edi, dword [esi + 0x28]
jae 0x49be49
mov edx, dword [esi + 0x48]
lea eax, [edi + edi*4]
shl eax, 4
cmp byte [edx + eax + 0x45], 0
jne 0x49a050
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x14]
cmp dword [ebx + 0x14], 0
je 0x49a10b
mov eax, dword [esi + 0x124]
cmp dword [ebx + 0x18], eax
jae 0x49a053
mov edx, dword [esi + 0xcc]
cmp edx, dword [esi + 0xc4]
jne 0x49a13e
lea ecx, [esi + 0xc4]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
call fcn.00418c70
mov edx, dword [esi + 0xcc]
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc8]
mov ebx, dword [esi + 4]
mov dword [eax + edx*8], ebx
mov ebx, dword [esi + 8]
mov dword [eax + edx*8 + 4], ebx
inc edx
mov dword [esi + 0xcc], edx
jmp 0x49a053
mov ecx, dword [esi + 0xcc]
mov ebx, dword [esi + 0xc4]
test ecx, ecx
mov eax, ecx
mov dword [esi + 0x40], ecx
je 0x49a274
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0xc8]
movdqa xmm0, xmmword [0x589280]
mov dword [esi + 0x64], ebx
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x38], eax
mov edx, dword [ecx + 0x7c]
mov eax, dword [ecx + 0x78]
mov dword [esi + 0x18], ecx
mov ecx, 0xffffffff
shl edx, 4
nop word cs:[eax + eax]
nop dword [eax + eax]
test edx, edx
je 0x49a295
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb edi, xmm1
cmp edi, 0xffff
mov edi, dword [esi + 0x34]
jne 0x49a1b0
mov eax, dword [esi + 0x18]
mov edx, dword [eax + 0x88]
mov dword [esi + 0x1d0], 8
cmp ecx, edx
jae 0x49bee7
mov eax, dword [eax + 0x84]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov byte [esi + 0x3e], 0
push edx
call dword [eax + 0x20]
add esp, 4
mov edx, dword [edx + 0xc]
mov byte [esi + 0x3e], 0
lea ecx, [esi + 0x170]
push eax
push ecx
mov dword [esi + 4], eax
call edx
mov ebx, dword [esi + 4]
add esp, 8
test ebx, ebx
je 0x49a261
mov ecx, dword [esi + 0x178]
mov edi, dword [esi + 0x170]
mov eax, dword [esi + 0x17c]
mov edx, dword [esi + 0x174]
xor edi, 0x79916b1f
xor ecx, 0x721300f2
xor edx, 0x5ece47c5
xor eax, 0x48efe268
or ecx, edi
mov edi, dword [esi + 0x34]
or eax, edx
or eax, ecx
je 0x49a297
mov ecx, 0x58f1dc
mov byte [esi + 0x3e], 0
call fcn.0057fb10
jmp 0x49c3e6
test ebx, ebx
je 0x4984c5
push dword [esi + 0xc8]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4984c5
xor ebx, ebx
mov ecx, dword [esi + 0x18]
test ebx, ebx
mov eax, 0x58fbd4
mov byte [esi + 0x3e], 0
mov dword [esi + 0x1d0], 8
lea edx, [esi + 0x130]
cmovne eax, ebx
mov dword [esi + 0x130], ecx
mov dword [esi + 0x134], eax
mov dword [esi + 0x138], edi
lea ecx, [esi + 0x70]
push dword [ebp + 8]
push dword [esi + 0x40]
push dword [esi + 0x38]
call fcn.00473e80
add esp, 0xc
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
lea eax, [eax + eax*2]
mov dword [esi + 0xb0], ecx
mov dword [esi + 0xb8], edx
mov dword [esi + 0x34], edx
mov dword [esi + 0x48], ecx
mov dword [esi + 0x14], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x28], eax
mov dword [esi + 0xbc], eax
mov eax, ecx
jmp 0x49a331
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0x14]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x20]
movq xmm0, qword [esi + 0xe8]
movq qword [ecx], xmm0
add ecx, 0xc
mov dword [esi + 0x14], ecx
mov ebx, dword [esi + 0x28]
cmp eax, ebx
je 0x49a556
lea ecx, [eax + 0xc]
mov dword [esi + 0xb4], ecx
mov dword [esi + 0x20], ecx
mov ecx, dword [eax]
cmp ecx, 0x80000000
je 0x49a55a
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
lea eax, [esi + 0x58]
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 1
mov dword [esi + 0x8c], 0
mov dword [esi + 0x80], 0x20
mov byte [esi + 0x90], 3
mov dword [esi + 0x70], 0
mov dword [esi + 0x78], 0
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x60], 0
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], 0x58eb18
mov dword [esi + 0x30], edi
xor eax, eax
test ebx, ebx
je 0x49a450
mov cl, 0xc
mov dword [esi + 8], ebx
mov dword [esi + 0x10], edi
jmp 0x49a3e1
cmp dl, 0x7f
jne 0x49a445
mov edi, dword [esi + 0x10]
inc eax
cmp ebx, eax
je 0x49a520
movzx edx, byte [edi + eax]
movzx ebx, cl
movzx edi, dl
mov dh, byte [edi + 0x58da20]
test dh, dh
jne 0x49a401
mov ecx, ebx
shl ecx, 8
mov dh, byte [ecx + edi + 0x58da20]
mov cl, dh
shr dh, 4
and cl, 0xf
test cl, cl
movzx ecx, cl
cmove ecx, ebx
cmp dh, 5
je 0x49a430
mov ebx, dword [esi + 8]
movzx edi, dh
cmp edi, 0xc
je 0x49a3d0
cmp edi, 0xf
jne 0x49a3d5
jmp 0x49a445
mov ebx, dword [esi + 8]
add edi, 0xfffffff7
cmp edi, 0x17
ja 0x49a3d5
mov edx, 0x80001b
bt edx, edi
jae 0x49a3d5
mov edi, dword [esi + 0x10]
cmp eax, ebx
ja 0x49bfe8
add edi, eax
sub ebx, eax
mov eax, ebx
je 0x49a4e0
xor eax, eax
jmp 0x49a46c
cmp al, 0xbf
jg 0x49a4d4
mov eax, dword [esi + 4]
inc eax
cmp ebx, eax
je 0x49a4d0
mov dword [esi + 4], eax
movzx eax, byte [edi + eax]
movzx ecx, al
movzx edx, byte [ecx + 0x58da20]
test dl, dl
je 0x49a4a0
shr dl, 4
cmp dl, 5
je 0x49a4af
movzx ecx, dl
cmp ecx, 0xf
je 0x49a464
cmp ecx, 0xc
jne 0x49a460
cmp al, 0x7f
jne 0x49a464
jmp 0x49a4d4
movzx edx, byte [ecx + str.PPPPPPPPPPPPPPPPPPPPPPPP]
shr dl, 4
cmp dl, 5
jne 0x49a489
add ecx, 0xfffffff7
cmp ecx, 0x17
ja 0x49a460
mov edx, 0x80001b
bt edx, ecx
jb 0x49a464
jmp 0x49a460
mov eax, ebx
jmp 0x49a4e0
mov eax, dword [esi + 4]
cmp eax, ebx
ja 0x49c0d8
nop
test eax, eax
je 0x49a520
mov dword [esi + 8], ebx
mov dword [esi + 0x1d0], 0xf
lea ecx, [esi + 0x70]
mov edx, edi
push eax
mov dword [esi + 0x10], edi
mov dword [esi + 4], eax
call fcn.004aeaa0
add esp, 4
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 8]
add edi, ecx
sub ebx, ecx
test al, al
je 0x49a3b3
jmp 0x49bf5b
mov eax, dword [esi + 0x60]
movsd xmm0, qword [esi + 0x58]
cmp dword [esi + 0x2c], 0
mov dword [esi + 0xf0], eax
movsd qword [esi + 0xe8], xmm0
je 0x49a310
push dword [esi + 0x30]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49a310
mov ecx, ebx
jmp 0x49a560
mov ecx, dword [esi + 0x20]
mov ebx, dword [esi + 0x28]
mov eax, ebx
mov edx, 0xaaaaaaab
mov dword [esi + 0xb8], 0
mov dword [esi + 0xb0], 4
mov dword [esi + 0xb4], 4
mov dword [esi + 0xbc], 4
sub eax, ecx
mul edx
cmp ebx, ecx
mov ebx, dword [esi + 0x48]
je 0x49a5d5
mov edi, edx
mov eax, ecx
shr edi, 3
add eax, 4
jmp 0x49a5b6
add eax, 0xc
dec edi
je 0x49a5d5
cmp dword [eax - 4], 0
je 0x49a5b0
push dword [eax]
push 0
push dword [0x5fd290]
mov ebx, eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, ebx
mov ebx, dword [esi + 0x48]
jmp 0x49a5b0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x34]
mov edx, 0xaaaaaaab
sub eax, ebx
shl ecx, 2
mul edx
lea ecx, [ecx + ecx*2]
mov edi, edx
mov eax, ecx
mov edx, 0xaaaaaaab
mul edx
shr edi, 3
shr edx, 3
cmp dword [esi + 0x44], 0
mov dword [esi + 0xd8], edx
mov dword [esi + 0xdc], ebx
mov dword [esi + 0xe0], edi
je 0x49a6ca
mov edi, dword [esi + 0x24]
mov eax, dword [esi + 0xc]
jmp 0x49a62f
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x24]
cmp eax, dword [esi + 0x50]
je 0x49a6cd
cmp edi, dword [esi + 0xa8]
je 0x49c0bb
cmp byte [edi + 0x45], 0
lea edx, [eax + 8]
mov ecx, edi
mov dword [esi + 0xc], edx
lea edx, [edi + 0x50]
mov dword [esi + 0x24], edx
je 0x49a620
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x49a620
mov edx, dword [esi + 0x18]
imul edi, ecx, 0x11c
mov ebx, dword [edx + 0x48]
mov edx, dword [eax]
mov dword [esi + 8], edx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x49a68e
add ebx, 0x11c
add edi, 0xfffffee4
je 0x49a620
cmp dword [ebx + 0x100], edx
jne 0x49a680
push edx
push dword [esi + 8]
push dword [ebx + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x49a680
test byte [ebx + 0x104], 4
jne 0x49a620
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0x24]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x40]
jmp 0x49a6ee
mov edi, dword [esi + 0x24]
mov eax, dword [esi + 0x38]
mov dword [esi + 0xc], 0
mov edx, dword [eax]
lea ecx, [eax + 8]
mov dword [esi + 0x14], ecx
mov dword [esi + 8], edx
mov edx, dword [eax + 4]
mov eax, dword [esi + 0x40]
dec eax
and eax, 0x1fffffff
cmp eax, 4
mov ebx, 3
cmovae ebx, eax
cmp ebx, 0xffffffe
ja 0x49c222
mov dword [esi + 4], edx
lea edx, [ebx*8 + 8]
test edx, edx
js 0x49c23a
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov dword [esi + 0x10], edx
call fcn.0056a9f0
test eax, eax
je 0x49c252
mov ecx, eax
mov eax, dword [esi + 8]
inc ebx
mov edx, ecx
mov dword [ecx], eax
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x40]
lea eax, [eax + ecx*8]
mov ecx, edx
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], edx
mov edx, 1
mov dword [esi + 0x78], 1
jmp 0x49a7ad
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x24], edi
mov dword [esi + 0x1d0], 0xe
lea ecx, [esi + 0x70]
sub eax, dword [esi + 0x14]
shr eax, 3
inc eax
push eax
call fcn.0057bc80
add esp, 4
mov ecx, dword [esi + 0x74]
mov edi, dword [esi + 0x24]
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
mov dword [ecx + edx*8], eax
mov dword [ecx + edx*8 + 4], ebx
inc edx
mov dword [esi + 0x78], edx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov dword [esi + 0x20], ecx
test eax, eax
je 0x49a890
cmp eax, dword [esi + 0x50]
je 0x49a890
mov eax, dword [esi + 0xc]
jmp 0x49a7df
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x24]
cmp eax, dword [esi + 0x50]
je 0x49a890
cmp edi, dword [esi + 0xa8]
je 0x49be8f
cmp byte [edi + 0x45], 0
lea edx, [eax + 8]
mov ecx, edi
mov dword [esi + 0xc], edx
lea edx, [edi + 0x50]
mov dword [esi + 0x24], edx
je 0x49a7d0
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x49a7d0
mov edx, dword [esi + 0x18]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov edi, dword [edx + 0x48]
mov dword [esi + 4], ebx
imul ebx, ecx, 0x11c
mov dword [esi + 8], eax
jmp 0x49a83e
add edi, 0x11c
add ebx, 0xfffffee4
je 0x49a7d0
cmp dword [edi + 0x100], eax
jne 0x49a830
push eax
push dword [esi + 4]
push dword [edi + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 8]
jne 0x49a830
test byte [edi + 0x104], 4
jne 0x49a7d0
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x24]
cmp edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x20]
jne 0x49a79c
jmp 0x49a770
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x2c]
je 0x49a8c4
mov edx, dword [eax + 4]
mov ecx, dword [eax]
add eax, 8
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], eax
mov dword [esi + 8], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 4], ecx
cmp edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x20]
jne 0x49a79c
jmp 0x49a770
cmp dword [esi + 0x64], 0
mov edi, dword [esi + 0x10]
je 0x49a8e8
push dword [esi + 0x38]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x1d0], 0xa
mov eax, dword [esi + 0x70]
mov byte [esi + 0xd7], 1
mov dword [esi + 0x1d0], 0xa
lea ecx, [esi + 0x58]
lea edx, [esi + 0x130]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x74]
push edi
mov dword [esi + 8], eax
push eax
call fcn.0046dd70
add esp, 8
mov ecx, 9
mov byte [esi + 0x6e], 1
mov byte [esi + 0x6f], 0
mov dword [esi + 0x1d0], 0xc
call fcn.00404a10
mov edx, dword [esi + 0x18]
mov ecx, eax
mov byte [esi + 0x6e], 1
mov byte [esi + 0x6f], 0
mov dword [esi + 0xc], eax
call fcn.0046c030
mov ecx, dword [esi + 0xc]
movsd xmm0, qword [esi + 0xd8]
mov eax, dword [esi + 0xe0]
lea edx, [esi + 0x70]
mov byte [esi + 0x6e], 1
mov byte [esi + 0x6f], 1
movsd qword [esi + 0x73], xmm0
mov dword [esi + 0x7b], eax
movsd xmm0, qword [esi + 0x70]
mov byte [esi + 0x70], 1
movsd qword [esi + 0xe8], xmm0
movsd xmm0, qword [esi + 0x77]
mov byte [esi + 0x74], 3
movsd qword [esi + 0xef], xmm0
movq xmm0, qword [esi + 0xe8]
movq xmm1, qword [esi + 0xef]
movq qword [esi + 0x75], xmm0
movq qword [esi + 0x7c], xmm1
call fcn.0049e8b0
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x58], 0x80000000
je 0x49a9ec
mov eax, dword [esi + 0x60]
movq xmm0, qword [esi + 0x58]
mov byte [esi + 0x6e], 0
mov byte [esi + 0x6f], 1
mov ecx, edi
mov edx, 0xf
mov dword [esi + 0x7c], eax
lea eax, [esi + 0x70]
movq qword [esi + 0x74], xmm0
mov byte [esi + 0x70], 4
push eax
call fcn.0046c500
mov edi, dword [esi + 0xc]
add esp, 4
cmp dword [esi + 4], 0
je 0x499193
push dword [esi + 8]
jmp 0x499185
mov eax, ecx
mov ecx, 1
mov ebx, eax
push dword [esi + 0x24]
push edi
mov dword [esi + 0x44], ecx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebx + 0x64]
test ecx, ecx
je 0x49aa84
mov eax, dword [ebx + 0x60]
mov dword [esi + 0x10], ecx
mov edx, dword [eax + 0x11c]
mov edi, dword [eax + 0x28]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x30], eax
mov dword [esi + 4], edx
mov edx, dword [eax + 0x120]
mov dword [esi + 0xc], edi
test edx, edx
je 0x49abbc
js 0x49c30b
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov edi, edx
call fcn.0056a9f0
mov edx, edi
test eax, eax
jne 0x49abc1
mov ecx, 1
mov byte [esi + 0x4d], 1
mov dword [esi + 0x1d0], 0x13
call fcn.0057f230
jmp 0x49c3e6
mov edi, dword [esi + 0x34]
mov dword [esi + 0xd8], 0
mov dword [esi + 0xdc], 4
mov dword [esi + 0xe0], 0
jmp 0x49ada2
mov ecx, dword [edi]
mov dword [esi + 0x40], eax
lea eax, [edx + eax*8]
mov dword [esi + 0x38], edx
mov dword [esi + 0x18], ecx
mov ecx, dword [edi + 4]
mov dword [esi + 0xf0], 0
mov dword [esi + 0x100], 0
mov dword [esi + 0x110], edx
mov dword [esi + 0x114], eax
lea eax, [esi + 0xc4]
lea edx, [esi + 0xe8]
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc8], 4
mov dword [esi + 0xcc], 0
mov byte [esi + 0xaf], 1
mov dword [esi + 0x1d0], 0x22
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx + 0xc]
mov dword [esi + 0x118], ecx
mov dword [esi + 0xe8], eax
mov dword [esi + 0x30], ecx
mov dword [esi + 0xec], ecx
lea ecx, [esi + 0x70]
call fcn.004a0480
mov eax, dword [esi + 0x70]
cmp eax, 0x80000000
jne 0x49afe3
mov eax, dword [esi + 0xf0]
mov edi, dword [esi + 0x30]
mov dword [esi + 0x130], 0
mov dword [esi + 0x134], 4
mov dword [esi + 0x138], 0
test eax, eax
je 0x49ab8d
cmp dword [esi + 0xf8], 0
je 0x49ab8d
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x100]
test eax, eax
je 0x49b18d
cmp dword [esi + 0x108], 0
je 0x49b18d
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49b18d
mov eax, 1
mov dword [esi + 8], edx
push edx
push dword [esi + 4]
mov dword [esi + 4], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xc]
mov ecx, 3
cmp eax, 4
cmovae ecx, eax
cmp ecx, 0xaaaaaa9
ja 0x49c2c8
lea eax, [ecx*4 + 4]
lea edi, [eax + eax*2]
test edi, edi
js 0x49c2dc
mov dword [esi + 0x2c], ecx
xor ecx, ecx
mov edx, edi
movzx eax, byte [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
mov dword [esi + 0x20], eax
je 0x49c2f0
mov edx, dword [esi + 8]
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 4]
imul ecx, dword [esi + 0x10], 0x16c
mov dword [esi + 8], 0x14
mov dword [edi], edx
mov dword [edi + 4], eax
mov eax, dword [esi + 0x30]
mov dword [edi + 8], edx
add ecx, eax
add eax, 0x16c
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0xc], 1
lea eax, [eax + eax*2]
inc ecx
lea eax, [ebx + eax*4]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], edi
mov dword [esi + 0x78], 1
mov dword [esi + 0x18], eax
jmp 0x49acb0
mov eax, dword [esi + 0x74]
mov ebx, dword [esi + 0xc]
mov edi, dword [esi + 0x2c]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x20]
inc ebx
mov dword [esi + 0xc], ebx
mov dword [edx + eax - 8], ecx
mov dword [edx + eax - 4], edi
mov dword [edx + eax], ecx
mov dword [esi + 0x78], ebx
mov ebx, dword [esi + 4]
add eax, 0xc
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x18]
je 0x49acf0
lea eax, [ebx + 0xc]
mov dword [esi + 4], eax
lea eax, [ebx + 4]
mov edx, dword [eax]
mov ebx, dword [ebx]
test edx, edx
je 0x49ad34
js 0x49c039
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov edi, edx
call fcn.0056a9f0
mov edx, edi
mov edi, eax
test eax, eax
jne 0x49ad39
jmp 0x49c056
mov eax, dword [esi + 0x30]
test eax, eax
je 0x49ad86
cmp eax, dword [esi + 0x28]
je 0x49ad86
mov edx, eax
lea ebx, [eax + 0x11c]
add eax, 0x120
mov ecx, dword [edx + 0x28]
mov edi, dword [edx + 0x24]
add edx, 0x16c
mov dword [esi + 0x30], edx
lea ecx, [ecx + ecx*2]
mov dword [esi + 4], edi
lea ecx, [edi + ecx*4]
mov dword [esi + 0x18], ecx
mov edx, dword [eax]
mov ebx, dword [ebx]
test edx, edx
jne 0x49acc6
mov edi, 1
mov dword [esi + 0x10], edx
push edx
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x70]
jne 0x49ac8c
mov eax, dword [esi + 0x18]
mov ecx, 0xaaaaaaab
mov dword [esi + 0x2c], edi
mov dword [esi + 0x1d0], 0x18
sub eax, dword [esi + 4]
mul ecx
lea ecx, [esi + 0x70]
mov eax, edx
mov edx, ebx
shr eax, 3
inc eax
push eax
call fcn.0057f5d0
add esp, 4
jmp 0x49ac80
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x78]
movq xmm0, qword [esi + 0x70]
mov ebx, dword [edi + 0xc]
mov dword [esi + 0xe0], eax
movq qword [esi + 0xd8], xmm0
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x78]
movdqa xmm0, xmmword [0x589280]
mov ecx, 0xffffffff
shl edx, 4
nop dword [eax + eax]
test edx, edx
je 0x49ae96
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb edi, xmm1
cmp edi, 0xffff
mov edi, dword [esi + 0x34]
jne 0x49adc0
mov edx, dword [ebx + 0x88]
mov dword [esi + 0x1d0], 0x14
cmp ecx, edx
jae 0x49befd
mov eax, dword [ebx + 0x84]
mov dword [esi + 4], ebx
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov byte [esi + 0x4e], 0
mov byte [esi + 0x4f], 1
push edx
call dword [eax + 0x20]
add esp, 4
mov edx, dword [edx + 0xc]
mov byte [esi + 0x4e], 0
mov byte [esi + 0x4f], 1
lea ecx, [esi + 0x1a0]
push eax
push ecx
mov dword [esi + 0xc], eax
call edx
mov eax, dword [esi + 0xc]
add esp, 8
mov ebx, dword [esi + 4]
test eax, eax
je 0x49ae7f
mov eax, dword [esi + 0x1ac]
mov ecx, dword [esi + 0x1a8]
mov edi, dword [esi + 0x1a0]
mov edx, dword [esi + 0x1a4]
xor edi, 0x79916b1f
xor ecx, 0x721300f2
xor edx, 0x5ece47c5
xor eax, 0x48efe268
or ecx, edi
or eax, edx
mov edi, dword [esi + 0x34]
or eax, ecx
mov ecx, dword [esi + 0xc]
je 0x49ae98
mov ecx, 0x58f1dc
mov byte [esi + 0x4e], 0
mov byte [esi + 0x4f], 1
call fcn.0057fb10
jmp 0x49c3e6
xor ecx, ecx
test ecx, ecx
mov eax, 0x58fbd4
mov dword [esi + 0xb0], ebx
mov byte [esi + 0x4e], 0
mov byte [esi + 0x4f], 1
mov dword [esi + 0x1d0], 0x14
lea edx, [esi + 0xb0]
cmovne eax, ecx
lea ecx, [esi + 0x58]
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb8], edi
push 0
push str._rustc_aedd173a2c086e558c2b66d3743b344f977621a7librarycore_src_strpattern.rs
call fcn.0046dd70
add esp, 8
mov ecx, 0xa
mov byte [esi + 0x6c], 1
mov byte [esi + 0x6d], 0
mov dword [esi + 0x1d0], 0x16
call fcn.00404a10
mov edx, dword [esi + 0x14]
mov ecx, eax
mov byte [esi + 0x6c], 1
mov byte [esi + 0x6d], 0
mov dword [esi + 0xc], eax
call fcn.0046c030
mov edi, dword [esi + 0xc]
movsd xmm0, qword [esi + 0xd8]
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0x44]
lea edx, [esi + 0x70]
mov byte [esi + 0x6c], 1
mov byte [esi + 0x6d], 1
mov dword [esi + 0x7b], eax
movsd qword [esi + 0x73], xmm0
mov eax, dword [esi + 0x24]
movsd xmm0, qword [esi + 0x70]
mov byte [esi + 0x70], 0
movsd qword [esi + 0xe8], xmm0
movsd xmm0, qword [esi + 0x77]
mov byte [esi + 0x74], 2
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], ecx
mov ecx, edi
mov dword [esi + 0x80], eax
mov byte [esi + 0x84], 3
mov byte [esi + 0x88], 3
movsd qword [esi + 0xef], xmm0
movq xmm1, qword [esi + 0xef]
movq xmm0, qword [esi + 0xe8]
movq qword [esi + 0x90], xmm1
movq qword [esi + 0x89], xmm0
call fcn.00404740
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x58], 0x80000000
je 0x499193
mov eax, dword [esi + 0x60]
movq xmm0, qword [esi + 0x58]
mov byte [esi + 0x6c], 0
mov byte [esi + 0x6d], 1
mov ecx, edi
mov edx, 0xf
mov dword [esi + 0x7c], eax
lea eax, [esi + 0x70]
movq qword [esi + 0x74], xmm0
mov byte [esi + 0x70], 4
push eax
call fcn.0046c500
mov edi, dword [esi + 0xc]
add esp, 4
jmp 0x499193
mov dword [esi + 4], eax
mov ebx, dword [esi + 0x74]
mov edi, dword [esi + 0x78]
xor ecx, ecx
mov edx, 0x30
movzx eax, byte [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x49c36a
mov ecx, dword [esi + 4]
mov dword [esi + 0x10], eax
mov dword [esi + 4], 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [esi + 0x58], 4
mov dword [esi + 0x5c], eax
mov dword [esi + 0x60], 1
movsd xmm1, qword [esi + 0x108]
movsd xmm2, qword [esi + 0x100]
mov eax, dword [esi + 0x118]
movq xmm0, qword [esi + 0x110]
movsd qword [esi + 0x90], xmm1
movsd xmm1, qword [esi + 0xf8]
movsd qword [esi + 0x88], xmm2
movq xmm2, qword [esi + 0xe8]
mov dword [esi + 0xa0], eax
movq qword [esi + 0x98], xmm0
movsd qword [esi + 0x80], xmm1
movq xmm1, qword [esi + 0xf0]
movq qword [esi + 0x70], xmm2
movq qword [esi + 0x78], xmm1
jmp 0x49b0c5
lea eax, [edx + edx*2]
inc edx
mov dword [esi + 0x10], ecx
mov dword [ecx + eax*4], ebx
mov ebx, dword [esi + 0x14]
mov dword [ecx + eax*4 + 4], edi
mov dword [esi + 4], edx
mov dword [ecx + eax*4 + 8], ebx
mov dword [esi + 0x60], edx
mov dword [esi + 0x1d0], 0x23
lea ecx, [esi + 0xb0]
lea edx, [esi + 0x70]
mov dword [esi + 0x1d0], 0x23
call fcn.004a0480
mov ebx, dword [esi + 0xb0]
mov edx, dword [esi + 4]
cmp ebx, 0x80000000
je 0x49b133
mov eax, dword [esi + 0xb8]
mov edi, dword [esi + 0xb4]
cmp edx, dword [esi + 0x58]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], eax
jne 0x49b0a0
mov dword [esi + 0x10], ebx
mov dword [esi + 0x20], edi
mov dword [esi + 0x1d0], 0x24
lea ecx, [esi + 0x58]
push 1
call fcn.0057f5d0
add esp, 4
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 4]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x10]
jmp 0x49b0a0
mov eax, dword [esi + 0x78]
test eax, eax
je 0x49b152
cmp dword [esi + 0x80], 0
je 0x49b152
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x30]
test eax, eax
je 0x49b177
cmp dword [esi + 0x90], 0
je 0x49b177
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
movq xmm0, qword [esi + 0x58]
mov eax, dword [esi + 0x60]
movq qword [esi + 0x130], xmm0
mov dword [esi + 0x138], eax
mov edi, dword [edi + 0x4c]
mov ecx, dword [esi + 8]
test edi, edi
je 0x49c091
mov eax, dword [esi + 0x30]
imul ebx, edi, 0x11c
mov eax, dword [eax + 0x48]
mov dword [esi + 0x14], eax
jmp 0x49b1c1
add eax, 0x11c
add ebx, 0xfffffee4
je 0x49c091
cmp dword [eax + 0x100], ecx
jne 0x49b1b0
push ecx
push dword [esi + 0x18]
push dword [eax + 0xfc]
mov dword [esi + 0x10], eax
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 8]
add esp, 0xc
test eax, eax
mov eax, dword [esi + 0x10]
jne 0x49b1b0
imul eax, edi, 0x11c
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x38]
add eax, 4
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x40]
lea eax, [eax*8]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0xc]
jmp 0x49b21c
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 0x50]
je 0x49b5df
mov ecx, dword [esi + 0x24]
cmp ecx, dword [esi + 0xa8]
je 0x49c192
cmp byte [ecx + 0x45], 0
lea edx, [eax + 8]
mov dword [esi + 0xc], edx
lea edx, [ecx + 0x50]
mov dword [esi + 0x24], edx
je 0x49b210
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x14]
mov dword [esi + 8], ecx
mov dword [esi + 4], eax
jmp 0x49b25e
add ebx, 0x11c
add edi, 0xfffffee4
je 0x49b210
cmp dword [ebx + 0x100], eax
jne 0x49b250
push eax
push dword [esi + 8]
push dword [ebx + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 4]
jne 0x49b250
test byte [ebx + 0x104], 4
jne 0x49b210
mov edi, dword [esi + 0x2c]
mov ebx, dword [esi + 0x20]
jmp 0x49b298
add ebx, 8
add edi, 0xfffffff8
je 0x49b2b7
cmp dword [ebx], eax
jne 0x49b290
push eax
push dword [esi + 8]
push dword [ebx - 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 4]
jne 0x49b290
jmp 0x49b210
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov edx, 0x20
call fcn.0056a9f0
test eax, eax
je 0x49c34b
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], 1
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [esi + 0x70], 4
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x78], 1
add eax, 4
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x40]
lea eax, [eax*8]
mov dword [esi + 0x2c], eax
jmp 0x49b327
mov ecx, dword [esi + 8]
mov edi, dword [esi + 4]
mov dword [esi + 0x14], eax
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], edi
inc edx
mov dword [esi + 0x18], edx
mov dword [esi + 0x78], edx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x24]
cmp eax, dword [esi + 0x50]
jne 0x49b34f
jmp 0x49b438
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x24]
cmp eax, dword [esi + 0x50]
je 0x49b438
cmp ecx, dword [esi + 0xa8]
je 0x49c151
cmp byte [ecx + 0x45], 0
lea edx, [eax + 8]
mov dword [esi + 0xc], edx
lea edx, [ecx + 0x50]
mov dword [esi + 0x24], edx
je 0x49b340
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x49b340
mov edx, dword [esi + 0x30]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov edi, dword [edx + 0x48]
mov dword [esi + 8], ebx
imul ebx, ecx, 0x11c
mov dword [esi + 4], eax
jmp 0x49b39e
add edi, 0x11c
add ebx, 0xfffffee4
je 0x49b340
cmp dword [edi + 0x100], eax
jne 0x49b390
push eax
push dword [esi + 8]
push dword [edi + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 4]
jne 0x49b390
test byte [edi + 0x104], 4
jne 0x49b340
mov edi, dword [esi + 0x2c]
mov ebx, dword [esi + 0x20]
jmp 0x49b3e8
add ebx, 8
add edi, 0xfffffff8
je 0x49b407
cmp dword [ebx], eax
jne 0x49b3e0
push eax
push dword [esi + 8]
push dword [ebx - 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 4]
jne 0x49b3e0
jmp 0x49b340
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
cmp edx, dword [esi + 0x70]
jne 0x49b310
mov dword [esi + 0x1d0], 0x21
lea ecx, [esi + 0x70]
push 1
call fcn.0057bc80
add esp, 4
mov eax, dword [esi + 0x74]
mov edx, dword [esi + 0x18]
jmp 0x49b310
mov ecx, dword [esi + 0x78]
movq xmm0, qword [esi + 0x70]
mov dword [esi + 0xb8], ecx
movq qword [esi + 0xb0], xmm0
mov eax, dword [esi + 0xb4]
test eax, eax
mov dword [esi + 0xc], eax
je 0x49b5fd
test ecx, ecx
je 0x49b5fd
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0xc]
mov edi, ecx
shl edi, 3
mov dword [esi + 0x18], edi
mov ebx, dword [eax + 0x48]
lea ecx, [edx + ecx*8]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], ebx
mov ebx, dword [eax + 0x4c]
imul eax, ebx, 0x11c
mov dword [esi + 0x44], ebx
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x38]
add eax, 4
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0x40]
lea eax, [eax*8]
mov dword [esi + 0x64], eax
jmp 0x49b4bc
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
mov ebx, dword [esi + 0x44]
cmp edx, ecx
je 0x49bd78
mov eax, edx
add edx, 8
test ebx, ebx
je 0x49b4b4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 0x20]
mov dword [esi + 0x28], edx
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
jmp 0x49b4ee
add edi, 0x11c
add ebx, 0xfffffee4
je 0x49b4ab
cmp dword [edi + 0x100], eax
jne 0x49b4e0
push eax
push dword [esi + 4]
push dword [edi + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esi + 8]
jne 0x49b4e0
mov eax, dword [edi + 0x68]
mov edx, dword [edi + 0x64]
mov ecx, eax
shl ecx, 4
add ecx, edx
test eax, eax
mov dword [esi + 0x48], ecx
je 0x49b4ab
mov ecx, dword [esi + 0x18]
lea eax, [edx + 0x10]
mov ebx, dword [edx + 8]
mov dword [esi + 0x50], edx
mov edx, dword [edx + 0xc]
xor edi, edi
mov dword [esi + 0x14], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], edx
jmp 0x49b547
add edi, 8
cmp ecx, edi
je 0x49b56e
mov eax, dword [esi + 0xc]
cmp dword [eax + edi + 4], edx
jne 0x49b540
push edx
push dword [esi + 4]
mov eax, dword [esi + 0xc]
push dword [eax + edi]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x18]
add esp, 0xc
test eax, eax
jne 0x49b540
jmp 0x49b5a9
mov edi, dword [esi + 0x64]
mov ebx, dword [esi + 0xa8]
jmp 0x49b58c
add ebx, 8
add edi, 0xfffffff8
je 0x49b617
cmp dword [ebx], edx
jne 0x49b580
push edx
push dword [esi + 4]
push dword [ebx - 4]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x18]
add esp, 0xc
test eax, eax
jne 0x49b580
mov edx, dword [esi + 0x14]
cmp edx, dword [esi + 0x48]
jne 0x49b526
jmp 0x49b4ab
mov edx, dword [esi + 0x68]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
mov ecx, edi
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 4
mov dword [esi + 0xb8], 0
mov dword [esi + 0xc], 4
mov dword [esi + 4], 0
mov dword [esi + 0x18], 0
jmp 0x49ba97
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
lea eax, [esi + 0xb0]
mov dword [esi + 0x20], eax
add ecx, 8
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x24]
mov eax, ecx
mov ebx, 3
mov dword [esi + 0x2c], edi
sub eax, edi
shr eax, 3
cmp eax, 4
cmovae ebx, eax
cmp ebx, 0xffffffe
ja 0x49c3ad
mov dword [esi + 0x14], edx
lea edx, [ebx*8 + 8]
test edx, edx
js 0x49c3be
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov edi, dword [eax + 4]
movzx eax, byte [0x5fd2ec]
mov dword [esi + 0xc], edx
call fcn.0056a9f0
test eax, eax
je 0x49c3cf
mov ecx, dword [esi + 4]
add dword [esi + 0x38], 4
shl dword [esi + 0x40], 3
inc ebx
mov dword [esi + 0x44], eax
mov dword [esi + 0x18], 1
mov dword [eax], ecx
mov dword [eax + 4], edi
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x14]
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], 1
jmp 0x49b6da
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x44]
mov ebx, dword [esi + 0xc]
mov dword [edx + eax*8], ebx
mov ebx, dword [esi + 4]
mov dword [edx + eax*8 + 4], ebx
inc eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x78], eax
cmp dword [esi + 0x20], 0
je 0x49ba10
test edi, edi
je 0x49b79b
cmp edi, dword [esi + 0x48]
je 0x49b79b
mov eax, dword [esi + 0x20]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x49b95a
mov edx, dword [eax + 4]
shl ebx, 3
mov dword [esi + 0x50], ebx
add edx, 4
mov dword [esi + 8], edx
mov ecx, dword [edi + 8]
mov eax, edi
lea eax, [edi + 0x10]
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], ecx
mov ecx, dword [edi + 0xc]
mov edi, edx
mov dword [esi + 4], ecx
jmp 0x49b738
add edi, 8
add ebx, 0xfffffff8
je 0x49b757
cmp dword [edi], ecx
jne 0x49b730
push ecx
push dword [esi + 0xc]
push dword [edi - 4]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x49b730
jmp 0x49b789
mov edi, dword [esi + 0x40]
mov ebx, dword [esi + 0x38]
jmp 0x49b76c
add ebx, 8
add edi, 0xfffffff8
je 0x49b9b2
cmp dword [ebx], ecx
jne 0x49b760
push ecx
push dword [esi + 0xc]
push dword [ebx - 4]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x49b760
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x24]
mov ebx, dword [esi + 0x50]
cmp edi, dword [esi + 0x48]
jne 0x49b712
mov eax, dword [esi + 0x28]
xor edi, edi
test eax, eax
je 0x49b943
cmp eax, ecx
je 0x49b9c5
mov edx, dword [esi + 0x30]
mov eax, dword [edx + 0x4c]
test eax, eax
je 0x49b9fa
imul eax, eax, 0x11c
mov ecx, dword [edx + 0x48]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 8], ecx
jmp 0x49b7e0
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
cmp eax, ecx
je 0x49ba7f
mov ecx, dword [eax]
mov edi, dword [esi + 0x14]
mov ebx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov ecx, dword [eax + 4]
add eax, 8
mov dword [esi + 0x28], eax
mov dword [esi + 4], ecx
jmp 0x49b80e
add ebx, 0x11c
add edi, 0xfffffee4
je 0x49b7d2
cmp dword [ebx + 0x100], ecx
jne 0x49b800
push ecx
push dword [esi + 0xc]
push dword [ebx + 0xfc]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x49b800
mov eax, dword [ebx + 0x68]
mov edx, dword [ebx + 0x64]
mov ecx, eax
shl ecx, 4
add ecx, edx
test eax, eax
mov dword [esi + 0x48], ecx
je 0x49b7d2
mov eax, dword [esi + 0x20]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x49b8f0
mov edi, dword [eax + 4]
shl ebx, 3
mov dword [esi + 0xa8], ebx
add edi, 4
mov dword [esi + 0x64], edi
mov ecx, dword [edx + 8]
mov eax, edx
lea eax, [edx + 0x10]
mov dword [esi + 0x50], eax
mov dword [esi + 0xc], ecx
mov ecx, dword [edx + 0xc]
mov dword [esi + 4], ecx
jmp 0x49b888
add edi, 8
add ebx, 0xfffffff8
je 0x49b8a4
cmp dword [edi], ecx
jne 0x49b880
push ecx
push dword [esi + 0xc]
push dword [edi - 4]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x49b880
jmp 0x49b8d6
mov edi, dword [esi + 0x40]
mov ebx, dword [esi + 0x38]
jmp 0x49b8bc
add ebx, 8
add edi, 0xfffffff8
je 0x49b9d4
cmp dword [ebx], ecx
jne 0x49b8b0
push ecx
push dword [esi + 0xc]
push dword [ebx - 4]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x49b8b0
mov edx, dword [esi + 0x50]
mov ebx, dword [esi + 0xa8]
mov edi, dword [esi + 0x64]
cmp edx, dword [esi + 0x48]
jne 0x49b863
jmp 0x49b7d2
mov ecx, dword [edx + 8]
mov ebx, dword [esi + 0x40]
mov edi, dword [esi + 0x38]
mov eax, edx
lea eax, [edx + 0x10]
mov dword [esi + 0x50], eax
mov dword [esi + 0xc], ecx
mov ecx, dword [edx + 0xc]
mov dword [esi + 4], ecx
jmp 0x49b91c
add edi, 8
add ebx, 0xfffffff8
je 0x49b9d4
cmp dword [edi], ecx
jne 0x49b910
push ecx
push dword [esi + 0xc]
push dword [edi - 4]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x49b910
mov edx, dword [esi + 0x50]
cmp edx, dword [esi + 0x48]
jne 0x49b8f0
jmp 0x49b7d2
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x49ba17
jmp 0x49ba8b
mov ecx, dword [edi + 8]
mov eax, edi
lea eax, [edi + 0x10]
mov ebx, dword [esi + 0x38]
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], ecx
mov ecx, dword [edi + 0xc]
mov edi, dword [esi + 0x40]
mov dword [esi + 4], ecx
jmp 0x49b988
add ebx, 8
add edi, 0xfffffff8
je 0x49b9b2
cmp dword [ebx], ecx
jne 0x49b980
push ecx
push dword [esi + 0xc]
push dword [ebx - 4]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x49b980
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x24]
cmp edi, dword [esi + 0x48]
jne 0x49b95a
jmp 0x49b79b
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x70]
je 0x49b9e6
jmp 0x49b6c0
mov dword [esi + 0x28], ecx
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x49ba17
jmp 0x49ba8b
mov edi, dword [esi + 0x50]
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x70]
jne 0x49b6c0
cmp dword [esi + 0x2c], 0
jne 0x49ba3f
mov dword [esi + 0x14], edi
mov dword [esi + 0x2c], 0
xor eax, eax
jmp 0x49ba54
mov edx, dword [esi + 0x28]
mov eax, ecx
sub eax, edx
and eax, 0xfffffff8
add edx, eax
mov dword [esi + 0x28], edx
nop dword [eax]
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x49ba8b
cmp eax, ecx
je 0x49ba8b
mov edx, dword [eax]
mov ebx, dword [esi + 0x18]
mov dword [esi + 0x20], 0
mov dword [esi + 0xc], edx
mov edx, dword [eax + 4]
cmp ebx, dword [esi + 0x70]
lea eax, [eax + 8]
mov dword [esi + 0x2c], eax
mov dword [esi + 4], edx
jne 0x49b6c0
mov eax, ecx
mov dword [esi + 0x14], edi
mov dword [esi + 0x1d0], 0x20
sub eax, dword [esi + 0x2c]
shr eax, 3
mov edx, dword [esi + 0x18]
inc eax
mov dword [esi + 0x1d0], 0x20
lea ecx, [esi + 0x70]
push eax
call fcn.0057bc80
add esp, 4
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x14]
mov dword [esi + 0x44], eax
jmp 0x49b6c0
xor edi, edi
mov dword [esi + 0x28], ecx
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x49ba17
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov dword [esi + 4], eax
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x30]
movdqa xmm0, xmmword [0x589280]
mov edx, dword [ecx + 0x7c]
mov eax, dword [ecx + 0x78]
mov ebx, ecx
mov ecx, 0xffffffff
shl edx, 4
nop word cs:[eax + eax]
nop dword [eax]
test edx, edx
je 0x49bb72
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb edi, xmm1
cmp edi, 0xffff
jne 0x49bac0
mov edx, dword [ebx + 0x88]
mov dword [esi + 0x1d0], 0x1f
cmp ecx, edx
jae 0x49bf17
mov eax, dword [ebx + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
lea ecx, [esi + 0x180]
push eax
push ecx
mov dword [esi + 8], eax
call dword [edx + 0xc]
mov eax, dword [esi + 8]
add esp, 8
mov ebx, dword [esi + 0x30]
test eax, eax
je 0x49bb63
mov eax, dword [esi + 0x18c]
mov ecx, dword [esi + 0x188]
mov edi, dword [esi + 0x180]
mov edx, dword [esi + 0x184]
xor edi, 0x79916b1f
xor ecx, 0x721300f2
xor edx, 0x5ece47c5
xor eax, 0x48efe268
or ecx, edi
or eax, edx
or eax, ecx
mov ecx, dword [esi + 8]
je 0x49bb74
mov ecx, 0x58f1dc
call fcn.0057fb10
jmp 0x49c3e6
xor ecx, ecx
test ecx, ecx
mov eax, 0x58fbd4
mov dword [esi + 0x70], ebx
mov dword [esi + 0x1d0], 0x1f
lea edx, [esi + 0x70]
cmovne eax, ecx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], ecx
lea ecx, [esi + 0xd8]
push dword [esi + 0x18]
push dword [esi + 0xc]
call fcn.0046dd70
add esp, 8
cmp dword [esi + 4], 0
je 0x49bbc2
push dword [esi + 0xc]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0xb0], 0
je 0x49bbdf
push dword [esi + 0xb4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0x70]
lea eax, [esi + 0xb0]
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 1
mov dword [esi + 0x8c], 0
mov dword [esi + 0x80], 0x20
mov byte [esi + 0x90], 3
mov dword [esi + 0x70], 0
mov dword [esi + 0x78], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0x1d0], 0x1d
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], 0x58eb18
call fcn.0046ab10
mov ecx, dword [esi + 0x30]
test al, al
jne 0x49c323
mov eax, dword [esi + 0xb8]
movsd xmm0, qword [esi + 0xb0]
mov byte [esi + 0xd4], 1
mov byte [esi + 0xd5], 0
mov dword [esi + 0x1d0], 0x1c
lea edx, [esi + 0x58]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x138]
movsd qword [esi + 0x58], xmm0
movq xmm0, qword [esi + 0x130]
mov dword [esi + 0x78], eax
lea eax, [esi + 0xd8]
movq qword [esi + 0x70], xmm0
push eax
lea eax, [esi + 0x70]
push eax
call fcn.0049fd70
add esp, 8
cmp dword [esi + 0xc4], 0
mov edi, eax
je 0x49bcd5
push dword [esi + 0xc8]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x160], 0
je 0x499193
push dword [esi + 0x164]
jmp 0x499185
xor ebx, ebx
mov ecx, dword [esi + 0x14]
test ebx, ebx
mov eax, 0x58fbd4
mov byte [esi + 0x4c], 1
mov dword [esi + 0x1d0], 0x26
lea edx, [esi + 0x70]
cmovne eax, ebx
mov dword [esi + 0x70], ecx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], ecx
lea ecx, [esi + 0xe8]
push 0
push str._rustc_aedd173a2c086e558c2b66d3743b344f977621a7librarycore_src_strpattern.rs
call fcn.0046dd70
add esp, 8
mov ecx, dword [esi + 0x14]
lea eax, [esi + 0xb0]
lea edi, [esi + 0xe8]
mov byte [esi + 0x4c], 0
lea edx, [esi + 0x58]
push edi
push eax
call fcn.0049fd70
add esp, 8
jmp 0x498376
mov edx, dword [esi + 0x68]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
mov ecx, edi
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov eax, dword [esi + 0xc]
xor edx, edx
mov dword [esi + 0x20], 0
mov dword [esi + 0x28], ecx
lea edi, [eax + 8]
mov eax, dword [eax]
mov dword [esi + 4], eax
jmp 0x49b632
mov edx, dword [esi + 0x68]
mov dword [esi + 0x1d0], 5
mov ecx, edi
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov edx, dword [esi + 0x68]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
mov ecx, edi
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov edx, dword [esi + 0x68]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
mov ecx, edi
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov edx, dword [esi + 0x68]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
mov ecx, edi
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov edx, dword [esi + 0x68]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
mov ecx, edi
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov edx, dword [esi + 0x28]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
mov ecx, edi
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov edx, dword [esi + 0x68]
mov dword [esi + 0x1d0], 3
mov ecx, edi
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov ecx, 0x590aac
mov dword [esi + 0x1d0], 0xe
call fcn.0057fb10
jmp 0x49c3e6
mov dword [esi + 0x1d0], 3
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x590408
call fcn.0057fb30
add esp, 4
jmp 0x49c3e6
mov ecx, 0x590aac
mov dword [esi + 0x1d0], 0
call fcn.0057fb10
jmp 0x49c3e6
mov byte [esi + 0x3e], 0
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov byte [esi + 0x4e], 0
mov byte [esi + 0x4f], 1
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov ecx, 0x590aac
mov dword [esi + 0x1d0], 3
call fcn.0057fb10
jmp 0x49c3e6
mov ecx, 0x590aac
mov dword [esi + 0x1d0], 3
call fcn.0057fb10
jmp 0x49c3e6
lea eax, [esi + 0xae]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x59f688
push 0x58eb34
push eax
call fcn.0057fa90
add esp, 0xc
jmp 0x49c3e6
mov ecx, 0x590aac
mov dword [esi + 0x1d0], 3
call fcn.0057fb10
jmp 0x49c3e6
mov byte [esi + 0x4c], 1
push 0x590a6c
call fcn.0057f710
add esp, 4
jmp 0x49c3e6
mov ecx, 0x590aac
mov dword [esi + 0x1d0], 3
call fcn.0057fb10
jmp 0x49c3e6
mov ecx, 0x590aac
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1d0], 4
call fcn.0057fb10
jmp 0x49c3e6
lea ecx, [esi + 0xe8]
mov edx, 0x58edf4
mov dword [esi + 0xe8], 0x5ec138
mov dword [esi + 0xec], 1
mov dword [esi + 0xf8], 0
mov dword [esi + 0xf0], str._rustc_aedd173a2c086e558c2b66d3743b344f977621a7librarycore_src_strpattern.rs
mov dword [esi + 0xf4], 0
mov dword [esi + 0x1d0], 0xf
call fcn.0057f680
jmp 0x49c3e6
mov eax, dword [esi + 0xc]
mov dword [esi + 0x1d0], 0x17
mov dword [esi + 0x140], eax
call fcn.004634e0
jmp 0x49c3e6
mov eax, dword [esi + 0xc]
mov ecx, 1
mov dword [esi + 0x1d0], 0x17
mov dword [esi + 0x140], eax
call fcn.0057f230
jmp 0x49c3e6
mov ecx, 0x590aac
mov dword [esi + 0x1d0], 3
call fcn.0057fb10
jmp 0x49c3e6
mov byte [esi + 0x3f], 1
mov dword [esi + 0x1d0], 0x1b
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x590418
call fcn.0057fb30
add esp, 4
jmp 0x49c3e6
mov ecx, 0x590aac
mov byte [esi + 0x57], 0
mov dword [esi + 0x1d0], 0xd
call fcn.0057fb10
jmp 0x49c3e6
lea ecx, [esi + 0xe8]
mov edx, 0x58ee04
mov dword [esi + 0xe8], 0x5ec138
mov dword [esi + 0xec], 1
mov dword [esi + 0xf8], 0
mov dword [esi + 0xf0], str._rustc_aedd173a2c086e558c2b66d3743b344f977621a7librarycore_src_strpattern.rs
mov dword [esi + 0xf4], 0
mov dword [esi + 0x1d0], 0xf
call fcn.0057f680
jmp 0x49c3e6
mov ecx, 4
mov edx, 4
mov dword [esi + 0x15c], 0
mov dword [esi + 0x1d0], 0x11
call fcn.0057f230
jmp 0x49c3e6
mov ecx, 0x590aac
mov dword [esi + 0x1d0], 0x21
call fcn.0057fb10
jmp 0x49c3e6
lea eax, [esi + 0xae]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x59f688
push 0x58eb34
push eax
call fcn.0057fa90
add esp, 0xc
jmp 0x49c3e6
mov ecx, 0x590aac
mov byte [esi + 0x3f], 1
mov dword [esi + 0x1d0], 0x1b
call fcn.0057fb10
jmp 0x49c3e6
mov ecx, 4
mov edx, 0x30
mov dword [esi + 0x1d0], 0x2d
call fcn.0057f230
jmp 0x49c3e6
mov dword [esi + 0x1d0], 0x28
call fcn.004634e0
jmp 0x49c3e6
mov eax, dword [esi + 8]
mov dword [esi + 0x1d0], 0x2b
mov dword [esi + 0x13c], eax
call fcn.004634e0
jmp 0x49c3e6
mov eax, dword [esi + 8]
mov ecx, 1
mov edx, ebx
mov dword [esi + 0x1d0], 0x2b
mov dword [esi + 0x13c], eax
call fcn.0057f230
jmp 0x49c3e6
mov byte [esi + 0x57], 0
mov dword [esi + 0x1d0], 0xd
call fcn.004634e0
jmp 0x49c3e6
mov byte [esi + 0x57], 0
mov dword [esi + 0x1d0], 0xd
call fcn.004634e0
jmp 0x49c3e6
mov edx, dword [esi + 0x10]
mov ecx, 4
mov byte [esi + 0x57], 0
mov dword [esi + 0x1d0], 0xd
call fcn.0057f230
jmp 0x49c3e6
mov dword [esi + 0x1d0], 3
mov ecx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
mov edx, 0x63
push 0x58ef60
call fcn.0057fb30
add esp, 4
jmp 0x49c3e6
mov dword [esi + 0x1d0], 3
call fcn.004634e0
jmp 0x49c3e6
mov edx, dword [esi + 0x24]
mov ecx, 1
mov dword [esi + 0x1d0], 3
call fcn.0057f230
jmp 0x49c3e6
mov dword [esi + 0x1d0], 0x19
call fcn.004634e0
jmp 0x49c3e6
mov dword [esi + 0x1d0], 0x19
call fcn.004634e0
jmp 0x49c3e6
mov ecx, 4
mov edx, edi
mov dword [esi + 0x1d0], 0x19
call fcn.0057f230
jmp 0x49c3e6
mov byte [esi + 0x4d], 1
mov dword [esi + 0x1d0], 0x13
call fcn.004634e0
jmp 0x49c3e6
lea eax, [esi + 0xae]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x59f688
push 0x58eb34
push eax
call fcn.0057fa90
add esp, 0xc
jmp 0x49c3e6
mov ecx, 4
mov edx, 0x20
mov byte [esi + 0x3f], 1
mov dword [esi + 0x1d0], 0x1b
call fcn.0057f230
jmp 0x49c3e6
mov ecx, 4
mov edx, 0x30
mov dword [esi + 0xc], ebx
mov dword [esi + 0x1d0], 0x25
call fcn.0057f230
jmp 0x49c3e6
lea eax, [esi + 0xae]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x59f688
push 0x58eb34
push eax
call fcn.0057fa90
add esp, 0xc
jmp 0x49c3e6
mov dword [esi + 0x1d0], 0x1e
call fcn.004634e0
jmp 0x49c3e6
mov dword [esi + 0x1d0], 0x1e
call fcn.004634e0
jmp 0x49c3e6
mov edx, dword [esi + 0xc]
mov ecx, 4
mov dword [esi + 0x1d0], 0x1e
call fcn.0057f230
ud2