Function at 0x499ddc
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1008
call fcn.005251d0
mov esi, esp
mov dword [esi + 0xff0], ebp
lea eax, [esi + 0xff8]
mov dword [esi + 0xe8], ecx
mov edi, edx
mov dword [esi + 0x50], edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x5032d0
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov al, byte [edx + 0x91]
mov byte [esi + 0xb1], al
mov al, byte [edx + 0x92]
mov byte [esi + 0x4e], al
mov al, byte [edx + 0x94]
mov byte [esi + 0x56], al
mov al, byte [edx + 0x95]
mov byte [esi + 0x32], al
mov al, byte [edx + 0x96]
mov byte [esi + 0xb2], al
mov al, byte [edx + 0x98]
mov byte [esi + 0xb3], al
lea eax, [edx + 0xa0]
mov dword [esi + 0x17c], eax
lea eax, [edx + 0xe0]
mov dword [esi + 0xb4], eax
lea eax, [edx + 8]
mov dword [esi + 0x178], eax
mov dword [esi + 0xe4], eax
mov ecx, dword [edi + 0xe4]
test ecx, ecx
je 0x49bbfe
mov dword [esi + 0x208], 2
and dword [esi + 0x218], 0
mov edi, ecx
mov eax, ecx
mov byte [esi + 0x57], bl
mov eax, dword [esi + 0xb4]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov dword [esi + 0x10], eax
xor eax, eax
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], eax
cmp eax, edi
jae 0x49bc05
mov ecx, dword [esi + 0x10]
movzx ecx, byte [ecx + eax]
cmp ecx, 0xd
jne 0x499f00
lea ecx, [eax + 1]
cmp edi, ecx
mov dword [esi + 0x60], ecx
jbe 0x49bc05
mov ecx, dword [esi + 0x10]
mov cl, byte [ecx + eax + 1]
add eax, 2
mov dword [esi + 0x60], eax
cmp cl, 0xa
je 0x499ec7
jmp 0x49bc0b
cmp ecx, 0xa
jne 0x499f08
inc eax
jmp 0x499ec4
lea ecx, [esi + 0x58]
call fcn.0044de78
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x5c]
mov edx, eax
mov dword [esi + 8], ecx
sub edx, 0xfffffff8
jae 0x499f71
cmp edx, ecx
ja 0x499f71
mov dword [esi + 0x40], edi
mov edi, dword [esi + 0x58]
mov ecx, dword [edi + eax]
mov dword [esi + 0x14], edi
mov edi, dword [edi + eax + 4]
mov dword [esi + 0x60], edx
mov ebx, edi
xor ecx, 0x50545448
and ebx, 0xffffff
xor ebx, 0x2e312f
or ebx, ecx
mov bl, 6
jne 0x49a19c
shr edi, 0x18
cmp edi, 0x30
je 0x49a041
cmp edi, 0x31
jne 0x49a19c
mov cl, 2
jmp 0x49a043
cmp ecx, eax
jbe 0x49bc05
mov edx, dword [esi + 0x58]
lea edi, [eax + 1]
mov bl, 6
mov cl, byte [edx + eax]
mov dword [esi + 0x60], edi
cmp cl, 0x48
jne 0x49a19c
cmp dword [esi + 8], edi
jbe 0x49bc05
mov cl, byte [edx + eax + 1]
lea edi, [eax + 2]
mov dword [esi + 0x60], edi
cmp cl, 0x54
jne 0x49a19c
cmp dword [esi + 8], edi
jbe 0x49bc05
mov cl, byte [edx + eax + 2]
lea edi, [eax + 3]
mov dword [esi + 0x60], edi
cmp cl, 0x54
jne 0x49a19c
cmp dword [esi + 8], edi
jbe 0x49bc05
mov cl, byte [edx + eax + 3]
lea edi, [eax + 4]
mov dword [esi + 0x60], edi
cmp cl, 0x50
jne 0x49a19c
cmp dword [esi + 8], edi
jbe 0x49bc05
mov cl, byte [edx + eax + 4]
lea edi, [eax + 5]
mov dword [esi + 0x60], edi
cmp cl, 0x2f
jne 0x49a19c
cmp dword [esi + 8], edi
jbe 0x49bc05
mov cl, byte [edx + eax + 5]
add eax, 6
mov dword [esi + 0x60], eax
cmp cl, 0x31
jne 0x49a19c
cmp dword [esi + 8], eax
jbe 0x49bc05
cmp byte [edx + eax], 0x2e
push 6
pop ecx
mov eax, 0
cmove ecx, eax
je 0x49bc05
mov ebx, ecx
jmp 0x49a19c
mov cl, 1
cmp dword [esi + 8], edx
mov dword [esi + 0xec], ecx
jbe 0x49bc05
mov ecx, dword [esi + 0x14]
add eax, 9
mov cl, byte [ecx + edx]
mov dword [esi + 0x60], eax
cmp cl, 0x20
jne 0x49a19c
lea ecx, [esi + 0x58]
call fcn.0044de78
cmp byte [esi + 0x56], 0
je 0x49a085
lea ecx, [esi + 0x58]
call fcn.0044de4b
test al, al
jne 0x49bc05
mov ecx, dword [esi + 0x5c]
mov eax, dword [esi + 0x60]
cmp ecx, eax
jbe 0x49bc05
mov edx, dword [esi + 0x58]
mov bl, byte [edx + eax]
add bl, 0xd0
cmp bl, 9
ja 0x49bde5
lea edi, [eax + 1]
mov byte [esi + 8], bl
cmp ecx, edi
jbe 0x49bc05
mov bh, byte [edx + eax + 1]
mov bl, bh
add bl, 0xd0
cmp bl, 9
ja 0x49bde5
lea edi, [eax + 2]
mov byte [esi + 0x14], bh
cmp ecx, edi
jbe 0x49bc05
mov bl, byte [edx + eax + 2]
add bl, 0xd0
cmp bl, 0xa
jae 0x49bde5
lea edi, [eax + 3]
mov byte [esi + 0x18], bl
cmp ecx, edi
jbe 0x49bc05
movzx edi, byte [edx + eax + 3]
lea ebx, [eax + 4]
mov dword [esi + 0x60], ebx
cmp edi, 0xa
je 0x49b116
cmp edi, 0xd
je 0x49b0ec
cmp edi, 0x20
jne 0x49bde5
cmp byte [esi + 0x56], 0
mov ebx, dword [esi + 0x40]
je 0x49a130
lea ecx, [esi + 0x58]
call fcn.0044de4b
test al, al
jne 0x49bc05
lea ecx, [esi + 0x58]
call fcn.0044de78
mov eax, dword [esi + 0x58]
mov edi, dword [esi + 0x5c]
mov edx, dword [esi + 0x60]
xor ecx, ecx
mov dword [esi + 0x34], eax
cmp edi, edx
mov dword [esi + 0x24], edx
jbe 0x49bc05
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x34]
movzx eax, byte [eax + edx]
inc edx
cmp eax, 9
je 0x49a18d
cmp eax, 0x20
je 0x49a18d
cmp eax, 0xa
je 0x49ba43
cmp eax, 0xd
je 0x49ba78
test al, al
js 0x49a18d
mov ebx, eax
add bl, 0xdf
cmp bl, 0x5e
mov ebx, dword [esi + 0x40]
jae 0x49bde5
test al, al
movzx ecx, cl
mov eax, 1
cmovs ecx, eax
jmp 0x49a146
mov edx, ebx
cmp dl, 6
jne 0x49bc0d
cmp byte [esi + 0xb3], 0
je 0x49bc0d
mov ax, 0xc8
xor ebx, ebx
mov dword [esi + 0xec], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0xe0], eax
xor eax, eax
mov edx, dword [esi + 0x138]
lea ecx, [esi + 0x124]
movsd xmm0, qword [esi + 0x130]
mov dword [esi + 0x120], eax
mov byte [esi + 0x4f], 1
mov dword [esi + 0x1000], 2
mov dword [ecx + 8], edx
mov edx, dword [esi + 0xb4]
movsd qword [ecx], xmm0
lea ecx, [esi + 0x1e0]
push ebx
call fcn.004221f0
pop eax
cmp byte [esi + 0x4e], 0
je 0x49a2a8
mov edx, dword [esi + 0x14]
mov al, 1
mov dword [esi + 0x1000], 3
lea ecx, [esi + 0x9b0]
mov byte [esi + 0x2a], al
mov byte [esi + 0x2b], al
push 0x565074
call fcn.004558db
pop ecx
shl edx, 4
mov ebx, eax
add edx, eax
mov dword [esi + 8], edx
cmp ebx, dword [esi + 8]
mov dword [esi + 0x1000], 3
je 0x49a2a8
mov eax, dword [esi + 0x1e0]
mov edx, dword [ebx + 0xc]
mov edi, dword [esi + 0x1e4]
mov ecx, dword [ebx + 8]
mov dword [esi + 0x10], ebx
mov bl, 1
mov byte [esi + 0x2a], bl
mov byte [esi + 0x2b], bl
push 0x5650a4
push edi
push eax
call fcn.0043978b
mov ebx, dword [esi + 0x10]
add esp, 0xc
add ebx, 0x10
test edx, edx
je 0x49a24f
movzx ecx, byte [eax]
cmp ecx, 0xd
je 0x49a2a1
cmp ecx, 0xa
jne 0x49a2a4
mov byte [eax], 0x20
inc eax
dec edx
jmp 0x49a290
lea ecx, [esi + 0x180]
lea edx, [esi + 0x1e0]
mov byte [esi + 0x2a], 1
mov byte [esi + 0x2b], 0
mov dword [esi + 0x1000], 3
call fcn.0043cfb5
mov edx, dword [esi + 0x50]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edx], 3
and dword [edx + 4], 0
mov edx, eax
xor edx, 3
or edx, ecx
jne 0x49a301
lea ecx, [esi + 0x130]
mov byte [esi + 0x33], 1
mov dword [esi + 0x1000], 4
call fcn.004491f9
jmp 0x49a324
mov dword [esi + 0x130], eax
mov dword [esi + 0x134], ecx
push 0x38
push dword [esi + 0x178]
lea eax, [esi + 0x138]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esi + 0xec], 2
sete byte [esi + 0x44]
cmp byte [esi + 0xb2], 0
je 0x49a392
mov al, 1
mov dword [esi + 0x1000], 5
xor ecx, ecx
mov byte [esi + 0x2c], al
mov byte [esi + 0x2d], al
push 2
pop edx
call fcn.004484ab
and dword [esi + 0x5c], 0
and dword [esi + 0x58], 0
mov dword [esi + 0x70], eax
and dword [esi + 0x74], 0
and dword [esi + 0x78], 0
push 4
pop eax
mov dword [esi + 0x7c], eax
and dword [esi + 0x80], 0
and dword [esi + 0x84], 0
mov dword [esi + 0x88], eax
and dword [esi + 0x8c], 0
and word [esi + 0x90], 0
jmp 0x49a39d
and dword [esi + 0x5c], 0
mov dword [esi + 0x58], 3
mov eax, dword [esi + 0x158]
mov edx, eax
add edx, dword [esi + 0x14]
jb 0x49c4d4
mov edi, dword [esi + 0x14c]
cmp edx, edi
mov ecx, edi
mov dword [esi + 8], edi
jbe 0x49a60e
lea ecx, [edx - 1]
bsr ecx, ecx
xor edi, edi
dec edi
not ecx
shr edi, cl
mov ecx, 1
inc edi
cmp edx, 2
cmovb edi, ecx
cmp edi, 0x8001
jae 0x49c501
test edi, edi
je 0x49c52e
test eax, eax
mov dword [esi + 0x18], edi
je 0x49a44a
movzx eax, word [esi + 0x168]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0x148]
xor edx, edx
movzx eax, ax
lea ecx, [ecx*4]
mov dword [esi + 0x10], edi
test ecx, ecx
je 0x49a43e
cmp word [edi + edx*4], 0xffff
je 0x49a438
mov edi, dword [esi + 0x10]
mov ebx, edx
movzx edi, word [edi + edx*4 + 2]
and edi, eax
sub ebx, edi
mov edi, dword [esi + 0x10]
test ebx, eax
je 0x49a514
add ecx, 0xfffffffc
inc edx
jmp 0x49a414
mov dword [esi + 0x24], 0
jmp 0x49a517
mov cl, 1
lea eax, [edi - 1]
mov edx, edi
mov dword [esi + 0x1000], 6
mov byte [esi + 5], cl
mov byte [esi + 6], cl
mov byte [esi + 7], cl
lea ecx, [esi + 0x260]
mov word [esi + 0x168], ax
call fcn.00448db9
mov al, 1
lea ecx, [esi + 0x260]
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
call fcn.00448ceb
mov ebx, edx
mov ecx, dword [esi + 0x148]
mov edx, dword [esi + 0x14c]
mov edi, eax
call fcn.0043a19f
mov edx, dword [esi + 0x18]
lea ecx, [esi + 0x260]
mov dword [esi + 0x148], edi
mov dword [esi + 0x14c], ebx
mov eax, edx
shr eax, 2
sub edx, eax
call fcn.00448f3e
cmp dword [esi + 0x260], 0
mov eax, dword [esi + 0x264]
mov dword [esi + 0x10], eax
jne 0x49c57a
mov eax, dword [esi + 0x268]
lea ecx, [esi + 0x150]
mov dword [esi + 0x1000], 0x17
mov dword [esi + 8], eax
call fcn.0044f4db
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov dword [esi + 0x150], eax
mov dword [esi + 0x154], ecx
and dword [esi + 0x158], 0
jmp 0x49a60e
mov dword [esi + 0x24], edx
mov edx, dword [esi + 0x18]
mov al, 1
lea ecx, [esi + 0x260]
mov dword [esi + 0x1000], 6
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
call fcn.00448db9
mov al, 1
lea ecx, [esi + 0x260]
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
call fcn.00448ceb
mov dword [esi + 0x148], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x14c], edx
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x1000], 0x18
dec eax
mov word [esi + 0x168], ax
push dword [esi + 8]
call fcn.004515e1
pop ecx
mov edi, edx
shl edi, 2
test edi, edi
je 0x49a5a7
lea ebx, [eax + 4]
movzx edx, word [eax]
movzx eax, word [eax + 2]
lea ecx, [esi + 0x130]
push eax
call fcn.0043a388
pop eax
add edi, 0xfffffffc
mov eax, ebx
jmp 0x49a585
mov ebx, dword [esi + 0x24]
cmp ebx, dword [esi + 8]
ja 0x49c55b
mov eax, dword [esi + 0x10]
shl ebx, 2
test ebx, ebx
je 0x49a5db
lea edi, [eax + 4]
movzx edx, word [eax]
movzx eax, word [eax + 2]
lea ecx, [esi + 0x130]
push eax
call fcn.0043a388
pop eax
add ebx, 0xfffffffc
mov eax, edi
jmp 0x49a5b9
mov edx, dword [esi + 0x14c]
lea ecx, [esi + 0x150]
mov dword [esi + 0x1000], 0x18
mov eax, edx
shr eax, 2
add eax, dword [esi + 0x158]
sub edx, eax
call fcn.0043a3c7
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 8]
call fcn.0043a19f
mov edx, dword [esi + 0x14]
mov al, 1
mov dword [esi + 0x1000], 6
lea ecx, [esi + 0x9b0]
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
push 0x565084
call fcn.004558db
pop ecx
shl edx, 4
add edx, eax
mov dword [esi + 0xac], edx
mov edi, dword [esi + 0x50]
cmp eax, dword [esi + 0xac]
mov dword [esi + 0x38], eax
je 0x49af42
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ebx, eax
sub ebx, edx
jb 0x49c492
mov edi, dword [esi + 0x188]
cmp eax, edi
ja 0x49c469
add edx, dword [esi + 0x184]
lea ecx, [esi + 0xd0]
push 0x562898
lea eax, [esi + 0x260]
push eax
push ebx
call fcn.0044934c
add esp, 0xc
movzx eax, byte [esi + 0xd8]
cmp eax, 3
je 0x49bd26
mov edx, dword [esi + 0xd0]
mov edi, dword [esi + 0xd4]
test eax, eax
je 0x49a6d7
cmp eax, 2
jne 0x49a743
and dword [esi + 0xbc], 0
mov byte [esi + 0xc0], dl
mov dword [esi + 0x1000], 7
jmp 0x49a7c1
mov al, 1
mov dword [esi + 0x10], edx
lea ecx, [esi + 0xf0]
mov edx, edi
mov dword [esi + 0x1000], 6
mov dword [esi + 8], edi
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
call fcn.0044be18
mov eax, dword [esi + 0x10]
add dword [esi + 8], eax
cmp eax, dword [esi + 8]
mov dword [esi + 0x14], eax
je 0x49a767
mov ecx, eax
movzx eax, byte [eax]
mov al, byte [eax + 0x562898]
test al, al
je 0x49bd1b
lea edx, [ecx + 1]
lea ecx, [esi + 0xf0]
mov dword [esi + 0x1000], 0xc
mov dword [esi + 0x10], edx
movzx edx, al
call fcn.00448f96
mov eax, dword [esi + 0x10]
jmp 0x49a705
mov al, 1
mov dword [esi + 0x1000], 6
lea ecx, [esi + 0xbc]
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
push edi
call fcn.00421c87
pop eax
jmp 0x49a7c1
movsd xmm0, qword [esi + 0xf0]
movsd xmm1, qword [esi + 0xf8]
lea ecx, [esi + 0x1a0]
lea edx, [esi + 0xd0]
mov dword [esi + 0x1000], 0xc
movsd qword [esi + 0xd8], xmm1
movsd qword [esi + 0xd0], xmm0
call fcn.0044be78
movsd xmm0, qword [esi + 0x1a0]
movsd xmm1, qword [esi + 0x1a8]
lea eax, [esi + 0xbc]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
lea eax, [esi + 0xbc]
mov ecx, dword [esi + 0x38]
lea edx, [esi + 0x180]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi + 0x110], xmm0
movsd qword [esi + 0x118], xmm1
mov edi, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov byte [esi + 0x30], 1
mov dword [esi + 0x1000], 7
lea ecx, [esi + 0xd0]
push edi
push eax
call fcn.00421dda
pop eax
pop ecx
movsd xmm0, qword [esi + 0xd0]
movsd xmm1, qword [esi + 0xd8]
movsd qword [esi + 0x260], xmm0
movsd qword [esi + 0x268], xmm1
mov eax, dword [esi + 0x260]
and dword [esi + 0x260], 0
test eax, eax
je 0x49c4bb
lea edi, [esi + 0x264]
lea edx, [esi + 0xbc]
mov byte [esi + 0x30], 1
mov ecx, dword [edi + 8]
movsd xmm0, qword [edi]
mov dword [edx + 8], ecx
lea ecx, [esi + 0x260]
movsd qword [edx], xmm0
mov dword [esi + 0xb8], eax
mov byte [esi + 0xc8], 0
call fcn.0043b21f
cmp dword [esi + 0x110], 0
jne 0x49a8de
cmp byte [esi + 0x114], 0x14
jne 0x49a8de
mov ecx, dword [esi + 0xbc]
mov edx, dword [esi + 0xc0]
test byte [esi + 0x44], 1
jne 0x49a8b7
mov byte [esi + 0x2e], 0
mov byte [esi + 0x2f], 1
mov dword [esi + 0x1000], 9
call fcn.00454c9b
mov byte [esi + 0x44], al
jmp 0x49a8de
mov byte [esi + 0x2e], 0
mov byte [esi + 0x2f], 1
mov dword [esi + 0x1000], 9
push 5
push 0x564c45
call fcn.00454caa
pop ecx
pop edx
mov byte [esi + 0x44], al
xor byte [esi + 0x44], 1
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov dword [esi + 0x1000], 9
mov eax, ecx
xor eax, 3
or eax, edx
je 0x49aec0
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x38]
mov dword [esi + 8], edx
lea edx, [esi + 0x180]
mov edi, dword [ecx + 4]
mov eax, dword [ecx]
mov byte [esi + 0x2e], 0
mov byte [esi + 0x2f], 1
lea ecx, [esi + 0xf0]
push edi
push eax
call fcn.00421dda
pop eax
pop ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x80]
xor ecx, 1
or ecx, dword [esi + 8]
jne 0x49a9a7
movq xmm2, qword [0x52a4c0]
movd xmm1, dword [esi + 0x74]
movd xmm0, eax
por xmm0, xmm2
por xmm1, xmm2
subsd xmm0, xmm2
subsd xmm1, xmm2
cvtsd2ss xmm0, xmm0
cvtsd2ss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, dword [0x52a4c8]
jae 0x49a9e4
lea ecx, [esi + 0x58]
mov byte [esi + 0xf], 1
mov dword [esi + 0x1000], 0xa
call fcn.004492ed
mov edi, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
mov dword [esi + 8], eax
lea eax, [eax*4]
mov ecx, edi
test eax, eax
je 0x49aa0c
mov dword [ecx], 0xffff
add ecx, 4
add eax, 0xfffffffc
jmp 0x49a995
mov edx, dword [esi + 0x74]
mov ecx, edx
mov dword [esi + 0x10], edx
shr ecx, 2
sub edx, ecx
cmp eax, edx
jne 0x49ab49
test eax, eax
je 0x49aac2
mov edx, dword [esi + 0x10]
lea ecx, [esi + 0x58]
mov byte [esi + 0xf], 1
mov dword [esi + 0x1000], 0xa
add edx, edx
call fcn.004513e3
jmp 0x49ab49
mov edx, dword [esi + 0x74]
and dword [esi + 0x5c], 0
and dword [esi + 0x58], 0
lea ecx, [esi + 0x58]
mov byte [esi + 0xf], 1
mov dword [esi + 0x1000], 0xa
add edx, edx
call fcn.004513e3
jmp 0x49ab49
mov ebx, dword [esi + 0x7c]
imul eax, dword [esi + 0x80], 0x30
add eax, ebx
mov dword [esi + 0x3c], eax
movzx eax, word [esi + 0x90]
movzx eax, ax
mov dword [esi + 0x14], eax
xor eax, eax
cmp ebx, dword [esi + 0x3c]
je 0x49ab49
lea ecx, [ebx + 0x30]
mov dword [esi + 0x18], eax
inc eax
lea edx, [ebx + 0x1c]
mov dword [esi + 0x40], ecx
lea ecx, [esi + 0x58]
mov dword [esi + 0x24], eax
call fcn.00439e34
mov edx, dword [esi + 0x14]
movzx ecx, ax
mov dword [esi + 0x34], eax
xor eax, eax
mov word [ebx + 0x2c], cx
and edx, ecx
mov ecx, dword [esi + 8]
mov ebx, edx
xor edx, edx
cmp ebx, ecx
jae 0x49aa5f
cmp word [edi + ebx*4], 0xffff
je 0x49aa92
mov dword [esi + 0x10], eax
movzx edx, word [edi + ebx*4 + 2]
mov eax, dword [esi + 0x14]
mov ecx, edi
mov edi, ebx
and edx, eax
sub edi, edx
and edi, eax
mov eax, dword [esi + 0x10]
cmp edi, eax
jb 0x49aaa3
inc ebx
inc eax
mov edi, ecx
mov edx, ebx
jmp 0x49aa5c
mov eax, dword [esi + 0x18]
mov word [edi + ebx*4], ax
mov eax, dword [esi + 0x34]
mov word [edi + ebx*4 + 2], ax
jmp 0x49aab7
mov edx, dword [esi + 8]
mov edi, ecx
push dword [esi + 0x34]
push dword [esi + 0x18]
push ebx
call fcn.0043a32e
add esp, 0xc
mov ebx, dword [esi + 0x40]
mov eax, dword [esi + 0x24]
jmp 0x49aa2a
mov word [esi + 0x90], 7
mov byte [esi + 0xf], 1
mov dword [esi + 0x1000], 0xa
lea ecx, [esi + 0x260]
push 8
pop edx
call fcn.00448db9
lea ecx, [esi + 0x260]
mov byte [esi + 0xf], 1
call fcn.00448ceb
mov ebx, edx
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x10]
mov edi, eax
call fcn.0043a19f
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], ebx
push 4
pop ecx
mov edx, 0x120
call fcn.004f67d3
test eax, eax
mov dword [esi + 0x10], eax
je 0x49c598
lea ecx, [esi + 0x78]
mov dword [esi + 0x1000], 0xb
call fcn.00450801
mov eax, dword [esi + 0x10]
mov dword [esi + 0x78], 6
mov dword [esi + 0x7c], eax
and dword [esi + 0x80], 0
lea ecx, [esi + 0x58]
lea edx, [esi + 0x110]
call fcn.004510c3
movzx ecx, word [esi + 0x90]
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0x70]
mov ebx, dword [esi + 0x74]
mov edi, dword [esi + 0x80]
mov dword [esi + 0x10], 0
and eax, ecx
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x48], ecx
mov edi, eax
cmp eax, ebx
mov eax, 0
jae 0x49ab88
movzx eax, word [edx + edi*4]
cmp eax, 0xffff
je 0x49ac23
mov ebx, dword [esi + 0x24]
mov dword [esi + 8], eax
movzx eax, word [edx + edi*4 + 2]
mov edx, edi
mov ecx, ebx
and ecx, eax
sub edx, ecx
and edx, ebx
mov ebx, dword [esi + 0x10]
cmp edx, ebx
mov edx, ebx
jb 0x49acb2
cmp ax, word [esi + 0x14]
jne 0x49ac11
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x18], edi
mov byte [esi + 0xf], 1
mov dword [esi + 0x1000], 0xa
push 0x563d30
push dword [esi + 8]
call fcn.0045137a
pop ecx
pop edx
add eax, 0x1c
lea edx, [esi + 0x110]
mov ecx, eax
call fcn.0043a5bc
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x10]
test al, al
jne 0x49ada2
inc edx
mov ebx, dword [esi + 0x34]
inc edi
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x40]
mov eax, edi
jmp 0x49ab88
mov eax, dword [esi + 0x80]
lea ecx, [esi + 0xd0]
lea edx, [esi + 0x110]
mov dword [esi + 0x18], edi
mov byte [esi + 0xf], 1
mov dword [esi + 0x1000], 0xa
mov dword [esi + 0x10], eax
call fcn.0044bfe4
movsd xmm0, qword [esi + 0xf0]
movsd xmm1, qword [esi + 0xf8]
mov edx, dword [esi + 0x14]
lea eax, [esi + 0x260]
mov byte [esi + 0xf], 0
lea ecx, [esi + 0x58]
movsd qword [esi + 0x268], xmm1
movsd qword [esi + 0x260], xmm0
push eax
lea eax, [esi + 0xd0]
push eax
call fcn.00451b63
pop eax
pop ecx
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x18]
cmp edi, edx
jae 0x49c429
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x10]
mov word [eax + edi*4], cx
mov ecx, dword [esi + 0x14]
mov word [eax + edi*4 + 2], cx
jmp 0x49aec0
mov eax, dword [esi + 0x58]
cmp edx, 0x200
lea ecx, [esi + 0x1a0]
lea edx, [esi + 0x110]
mov dword [esi + 0x18], edi
mov byte [esi + 0xf], 1
mov dword [esi + 0x1000], 0xa
setae byte [esi + 0x10]
xor eax, 2
or eax, dword [esi + 0x5c]
setne byte [esi + 8]
call fcn.0044bfe4
movsd xmm0, qword [esi + 0xf0]
mov eax, dword [esi + 0x80]
movsd xmm1, qword [esi + 0xf8]
movsd xmm2, qword [esi + 0x1a8]
mov edx, dword [esi + 0x14]
mov byte [esi + 0xf], 0
lea ecx, [esi + 0x58]
movsd qword [esi + 0x260], xmm0
movsd xmm0, qword [esi + 0x1a0]
mov dword [esi + 0x24], eax
lea eax, [esi + 0x260]
movsd qword [esi + 0x268], xmm1
movsd qword [esi + 0xd8], xmm2
movsd qword [esi + 0xd0], xmm0
push eax
lea eax, [esi + 0xd0]
push eax
call fcn.00451b63
pop eax
pop ecx
mov bl, byte [esi + 0x10]
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
and bl, byte [esi + 8]
push dword [esi + 0x14]
push dword [esi + 0x24]
push dword [esi + 0x18]
call fcn.0043a32e
add esp, 0xc
mov edx, dword [esi + 0x58]
cmp eax, 0x7f
mov eax, dword [esi + 0x5c]
seta cl
or cl, bl
mov edi, edx
or edi, eax
mov edi, 1
sete ch
test cl, ch
cmovne edx, edi
mov dword [esi + 0x58], edx
mov edx, 0
cmovne eax, edx
mov dword [esi + 0x5c], eax
jmp 0x49aec0
mov edx, dword [esi + 0x3c]
cmp edx, ecx
jbe 0x49c43f
mov edx, dword [esi + 0x48]
imul eax, ecx, 0x30
cmp dword [edx + eax], 0
lea edi, [edx + eax]
mov dword [esi + 0x10], edi
je 0x49ae56
mov edx, dword [edi + 8]
movsd xmm0, qword [esi + 0xf0]
movsd xmm1, qword [esi + 0xf8]
lea eax, [esi + 0x264]
mov byte [esi + 0xf], 0
movsd qword [eax + 0x14], xmm1
movsd qword [eax + 0xc], xmm0
mov dword [esi + 0x260], 1
mov dword [esi + 0x264], edx
and dword [esi + 0x268], 0
mov dword [esi + 0x26c], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x14], edx
lea edx, [esi + 0x260]
mov dword [esi + 8], ecx
lea ecx, [esi + 0x84]
call fcn.00451aba
mov edx, dword [esi + 0x8c]
mov edi, dword [esi + 0x14]
cmp edx, edi
jbe 0x49c453
mov eax, dword [esi + 0x88]
mov edx, dword [esi + 8]
shl edi, 5
xor ecx, ecx
inc ecx
mov dword [eax + edi + 8], ecx
mov dword [eax + edi + 0xc], edx
mov edi, dword [esi + 0x10]
mov dword [edi], ecx
mov dword [edi + 8], edx
jmp 0x49aec0
movsd xmm0, qword [esi + 0xf0]
movsd xmm1, qword [esi + 0xf8]
lea edx, [esi + 0x264]
mov eax, dword [esi + 0x8c]
mov byte [esi + 0xf], 0
movsd qword [edx + 0x14], xmm1
movsd qword [edx + 0xc], xmm0
and dword [esi + 0x260], 0
mov dword [esi + 0x264], ecx
and dword [esi + 0x268], 0
mov dword [esi + 0x26c], ecx
lea ecx, [esi + 0x84]
lea edx, [esi + 0x260]
mov dword [esi + 0x14], eax
call fcn.00451aba
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [eax], 1
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
movsd xmm0, qword [esi + 0x110]
mov eax, dword [esi + 0xc8]
movsd xmm1, qword [esi + 0x118]
movsd xmm2, qword [esi + 0xc0]
mov byte [esi + 0x2e], 1
mov byte [esi + 0x2f], 0
mov dword [esi + 0x1000], 9
lea ecx, [esi + 0x130]
lea edx, [esi + 0xd0]
movsd qword [esi + 0xd0], xmm0
movsd xmm0, qword [esi + 0xb8]
mov dword [esi + 0x270], eax
lea eax, [esi + 0x260]
movsd qword [esi + 0xd8], xmm1
movsd qword [esi + 0x268], xmm2
movsd qword [esi + 0x260], xmm0
push eax
call fcn.0043a9fa
pop eax
mov eax, dword [esi + 0x38]
add eax, 0x10
jmp 0x49a642
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
xor edx, edx
mov bl, 1
xor eax, 3
mov dword [esi + 0x34], ecx
mov dword [esi + 0x40], eax
or eax, ecx
mov al, 1
je 0x49b71e
push 0x40
lea eax, [esi + 0x58]
push eax
lea eax, [esi + 0x220]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x1000], 0x16
push 0x10
pop ecx
push 4
pop edx
call fcn.004484ab
movsd xmm0, qword [0x57fcf8]
movsd xmm1, qword [0x57fcf0]
xor ecx, ecx
mov dword [esi + 0x18], eax
movsd qword [eax + 8], xmm0
movsd qword [eax], xmm1
mov dword [esi + 0x9c], eax
mov byte [esi + 0x1d], 1
mov dword [esi + 0x1000], 0x13
call fcn.0046b4c1
mov dword [esi + 0x1000], 0x15
push 0x40
pop ecx
push 8
pop edx
call fcn.004484ab
mov edi, eax
push 0x40
lea eax, [esi + 0x58]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x18]
mov edx, 0xaceab9b4
mov byte [esi + 0x1d], 0
mov dword [esi + 0x1000], 0x13
mov dword [esi + 0x9c], ecx
push 0x563bec
push edi
push 0x66762679
push 0x9e1b0543
push 0xec304f7a
call fcn.00448248
add esp, 0x14
test eax, eax
je 0x49b714
mov dword [esi + 0x1000], 0x14
mov dword [esi + 0x10], eax
push eax
lea eax, [esi + 0x1c0]
push eax
mov dword [esi + 8], edx
call dword [edx + 0xc]
add esp, 8
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
xor eax, 0xaceab9b4
xor ecx, 0xec304f7a
or ecx, eax
jne 0x49b6f2
mov eax, dword [esi + 0x1cc]
mov ecx, dword [esi + 0x1c8]
xor ecx, 0x9e1b0543
xor eax, 0x66762679
or eax, ecx
jne 0x49b6f2
push 0x40
mov edi, dword [esi + 0x10]
push edi
lea eax, [esi + 0x260]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, edi
push 8
pop edx
call fcn.004332a0
mov eax, dword [esi + 0x260]
xor eax, 3
or eax, dword [esi + 0x264]
je 0x49b714
mov eax, dword [esi + 0x18]
xor ecx, ecx
mov dword [esi + 0x1000], 0xd
mov byte [esi + 0x1e], cl
mov byte [esi + 0x20], cl
mov dword [esi + 0xa0], eax
mov al, 1
mov byte [esi + 0x1f], al
mov byte [esi + 0x21], al
lea eax, [esi + 0x260]
push eax
call fcn.0045078d
pop eax
jmp 0x49b714
cmp ecx, ebx
mov ebx, dword [esi + 0x40]
jbe 0x49bc05
mov cl, byte [edx + eax + 4]
add eax, 5
mov dl, 3
mov dword [esi + 0x60], eax
cmp cl, 0xa
jne 0x49bc0d
lea ecx, [esi + 0x58]
call fcn.0044de78
jmp 0x49b121
lea ecx, [esi + 0x58]
call fcn.0044de78
mov ebx, dword [esi + 0x40]
xor eax, eax
mov dword [esi + 0x24], 0
inc eax
mov dword [esi + 0x34], eax
movzx ecx, byte [esi + 0x14]
movzx eax, byte [esi + 8]
movzx edx, byte [esi + 0x18]
sub ebx, dword [esi + 0x5c]
mov dword [esi + 0xac], 0
mov dword [esi + 0x14], 0
imul ecx, ecx, 0xa
imul eax, eax, 0x64
mov dword [esi + 0x40], ebx
add cl, 0x20
add edx, eax
xor eax, eax
movzx ecx, cl
add edx, ecx
mov dword [esi + 0xe0], edx
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x60]
mov edi, dword [esi + 0x5c]
cmp edi, eax
mov dword [esi + 8], eax
jbe 0x49bc05
mov ecx, dword [esi + 0x58]
mov eax, dword [esi + 8]
movzx edx, byte [ecx + eax]
lea ebx, [eax + 1]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x60], ebx
cmp edx, 0xa
je 0x49bafc
cmp edx, 0xd
je 0x49bacc
cmp byte [edx + 0x574fe8], 0
je 0x49b2a6
mov ecx, dword [esi + 0x18]
lea edx, [ecx + eax + 2]
mov ecx, dword [esi + 8]
mov eax, edx
lea edx, [ecx + 1]
cmp edi, edx
mov dword [esi + 8], edx
jbe 0x49bc05
mov edx, dword [esi + 0x18]
movzx ebx, byte [edx + ecx + 1]
lea edx, [eax + 1]
cmp byte [ebx + 0x574fe8], 0
jne 0x49b1b6
lea edx, [ecx + 2]
mov dword [esi + 0x38], edi
mov dword [esi + 0x44], edi
and dword [esi + 0x60], 0
mov dword [esi + 0x48], edx
add dword [esi + 0x3c], edx
sub dword [esi + 0x38], edx
mov edx, dword [esi + 0x18]
cmp bl, 0x3a
mov edi, dword [esi + 0x48]
lea edx, [edx + edi]
mov edi, dword [esi + 0x38]
mov dword [esi + 0x58], edx
mov dword [esi + 0x170], edx
mov dword [esi + 0x5c], edi
jne 0x49b2dd
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov ebx, dword [esi + 0x60]
cmp ecx, ebx
jbe 0x49bc05
movzx edx, byte [eax + ebx]
mov edi, ebx
inc ebx
mov dword [esi + 0x60], ebx
cmp edx, 0x20
je 0x49b296
cmp edx, 9
je 0x49b296
cmp byte [edx + 0x5637c9], 0
jne 0x49b3e6
cmp edx, 0xa
je 0x49b271
cmp edx, 0xd
jne 0x49b3ab
cmp ecx, ebx
jbe 0x49bc05
mov dl, byte [eax + edi + 1]
mov ebx, edi
add ebx, 2
mov dword [esi + 0x60], ebx
cmp dl, 0xa
jne 0x49bf08
cmp byte [esi + 0x4e], 0
je 0x49b63e
cmp ebx, ecx
jae 0x49bc05
movzx edx, byte [eax + ebx]
cmp edx, 9
je 0x49b21d
cmp edx, 0x20
je 0x49b21d
jmp 0x49b63e
lea ecx, [esi + 0x58]
call fcn.0044de78
add dword [esi + 0x3c], ebx
jmp 0x49b214
cmp byte [esi + 0x32], 0
je 0x49bf0f
test dl, dl
je 0x49bc0d
movzx eax, dl
cmp eax, 0xa
je 0x49b352
cmp eax, 0xd
je 0x49b338
cmp edi, ebx
jbe 0x49bc05
mov eax, dword [esi + 0x18]
mov dl, byte [eax + ebx]
inc ebx
mov dword [esi + 0x60], ebx
jmp 0x49b2b0
cmp byte [esi + 0xb1], 0
mov edx, ebx
je 0x49b362
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x18]
sub ecx, dword [esi + 0x44]
add edi, ebx
xor ebx, ebx
inc ebx
mov dword [esi + 0x48], edi
cmp dl, 0x20
je 0x49b30a
mov edi, ebx
movzx ebx, dl
cmp ebx, 9
mov ebx, edi
jne 0x49b366
mov edi, ebx
add ebx, ecx
cmp ebx, 0xffffffff
je 0x49bc05
mov edx, dword [esi + 0x48]
lea ebx, [edi + 1]
mov dl, byte [edx + edi]
mov dword [esi + 0x60], edi
cmp dl, 0x3a
jne 0x49b2f9
lea ecx, [esi + 0x58]
call fcn.0044de78
add dword [esi + 0x3c], edi
jmp 0x49b214
cmp edi, ebx
jbe 0x49bc05
mov eax, dword [esi + 0x18]
mov al, byte [eax + ebx]
inc ebx
mov dword [esi + 0x60], ebx
cmp al, 0xa
jne 0x49bf0f
add dword [esi + 0x3c], ebx
lea ecx, [esi + 0x58]
call fcn.0044de78
jmp 0x49b16c
xor ebx, ebx
jmp 0x49b367
dec ebx
cmp byte [esi + 0x32], 0
je 0x49bf0f
add eax, ebx
test dl, dl
je 0x49bc0d
movzx ecx, dl
cmp ecx, 0xa
je 0x49b352
cmp ecx, 0xd
je 0x49b39a
cmp dword [esi + 0x38], ebx
jbe 0x49bc05
mov dl, byte [eax]
inc ebx
inc eax
mov dword [esi + 0x60], ebx
jmp 0x49b373
cmp dword [esi + 0x38], ebx
jbe 0x49bc05
mov eax, dword [esi + 0x170]
jmp 0x49b343
cmp byte [esi + 0x32], 0
je 0x49bf08
test dl, dl
je 0x49bf08
movzx edx, dl
cmp edx, 0xa
je 0x49b352
cmp edx, 0xd
je 0x49b5dd
cmp ecx, ebx
jbe 0x49bc05
mov dl, byte [eax + ebx]
inc ebx
mov dword [esi + 0x60], ebx
jmp 0x49b3b5
mov edx, ecx
jmp 0x49b57c
mov ecx, dword [0x5c2f18]
test ecx, ecx
jne 0x49b41f
mov eax, dword [0x5c2ff4]
test eax, eax
jne 0x49b408
mov dword [esi + 0x1000], 1
call fcn.00529090
xor ecx, ecx
bt eax, 0xb
mov eax, 0xffffffff
jae 0x49b41a
xor ecx, ecx
inc ecx
mov eax, ecx
mov dword [0x5c2f18], eax
cmp ecx, 1
jne 0x49b452
mov dword [esi + 0x1000], 1
lea ecx, [esi + 0x58]
call fcn.0044deb3
cmp edx, 0x10
jb 0x49b452
lea ecx, [esi + 0x58]
call fcn.0044deb3
mov ecx, eax
call fcn.0044ded2
add dword [esi + 0x60], eax
cmp eax, 0x10
je 0x49b42e
mov edi, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov ebx, dword [esi + 0x60]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x44], edi
mov eax, ebx
sub eax, 0xfffffff8
jae 0x49b523
cmp eax, ecx
ja 0x49b523
mov edx, dword [edi + ebx]
movzx ecx, dl
cmp byte [ecx + 0x5637c9], 0
je 0x49b542
mov ecx, dword [edi + ebx + 4]
mov dword [esi + 0x38], ebx
mov ebx, ecx
shld ebx, edx, 0x18
movzx edi, bl
cmp byte [edi + 0x5637c9], 0
je 0x49b545
mov ebx, ecx
shld ebx, edx, 0x10
movzx edi, bl
cmp byte [edi + 0x5637c9], 0
je 0x49b54d
shrd edx, ecx, 0x18
movzx edi, dl
cmp byte [edi + 0x5637c9], 0
je 0x49b55a
movzx edx, cl
mov ebx, dword [esi + 0x38]
cmp byte [edx + 0x5637c9], 0
je 0x49b565
mov edx, ecx
shr edx, 8
movzx edi, dl
cmp byte [edi + 0x5637c9], 0
je 0x49b56f
mov edx, ecx
shr edx, 0x10
movzx edi, dl
cmp byte [edi + 0x5637c9], 0
je 0x49b574
shr ecx, 0x18
mov edi, dword [esi + 0x44]
cmp byte [ecx + 0x5637c9], 0
je 0x49b3df
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov ebx, eax
jmp 0x49b461
cmp ecx, ebx
jbe 0x49bc05
movzx edx, byte [edi + ebx]
inc ebx
mov dword [esi + 0x60], ebx
cmp byte [edx + 0x5637c9], 0
jne 0x49b461
jmp 0x49b584
inc ebx
jmp 0x49b57a
mov eax, dword [esi + 0x38]
add eax, 2
jmp 0x49b553
mov eax, dword [esi + 0x38]
add eax, 3
mov edi, dword [esi + 0x44]
mov edx, ebx
jmp 0x49b57c
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0x44]
add eax, 4
jmp 0x49b57c
mov edi, dword [esi + 0x44]
add ebx, 5
mov edx, ecx
jmp 0x49b57a
add ebx, 6
jmp 0x49b577
add ebx, 7
mov edi, dword [esi + 0x44]
mov eax, ebx
mov ecx, dword [esi + 0x48]
mov ebx, eax
mov dword [esi + 0x60], eax
cmp dl, 0xa
je 0x49b5ac
movzx eax, dl
cmp eax, 0xd
jne 0x49b5fb
cmp ecx, ebx
jbe 0x49bc05
mov al, byte [edi + ebx]
inc ebx
mov dword [esi + 0x60], ebx
cmp al, 0xa
push 0xfffffffffffffffe
pop edx
je 0x49b5af
jmp 0x49bf08
xor edx, edx
dec edx
cmp byte [esi + 0x4e], 0
je 0x49b6d6
cmp dword [esi + 0x48], ebx
jbe 0x49bc05
movzx ecx, byte [edi + ebx]
cmp ecx, 9
je 0x49b3e6
cmp ecx, 0x20
je 0x49b3e6
jmp 0x49b6d6
cmp ecx, ebx
jbe 0x49bc05
mov al, byte [eax + ebx]
inc ebx
cmp al, 0xa
mov dl, 1
mov dword [esi + 0x60], ebx
je 0x49b352
jmp 0x49bc0d
cmp byte [esi + 0x32], 0
je 0x49bf08
test dl, dl
je 0x49bf08
movzx ecx, dl
cmp ecx, 0xa
je 0x49b352
cmp ecx, 0xd
je 0x49b630
cmp dword [esi + 0x48], ebx
jbe 0x49bc05
mov dl, byte [edi + ebx]
inc ebx
mov dword [esi + 0x60], ebx
jmp 0x49b605
cmp dword [esi + 0x48], ebx
jbe 0x49bc05
mov al, byte [edi + ebx]
jmp 0x49b5e8
lea ecx, [esi + 0x58]
call fcn.0044de78
xor edx, edx
mov ecx, dword [esi + 0xac]
cmp ecx, 0x640
je 0x49c096
add ebx, dword [esi + 0x3c]
add ecx, 0x10
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x48], ebx
test edx, edx
je 0x49b697
movzx ebx, byte [eax + edx - 1]
mov ecx, edx
add ebx, 0xfffffff7
cmp ebx, 0x17
ja 0x49b689
mov edi, 0x800013
lea edx, [ecx - 1]
bt edi, ebx
jb 0x49b669
mov edx, dword [esi + 0x3c]
cmp ecx, edx
ja 0x49c609
mov dword [esi + 0x3c], ecx
mov ebx, dword [esi + 0xac]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 8]
inc dword [esi + 0x14]
mov dword [esi + ebx + 0x260], ecx
mov dword [esi + ebx + 0x264], edx
mov dword [esi + ebx + 0x268], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + ebx + 0x26c], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0x48]
jmp 0x49b169
mov ecx, edi
mov eax, edi
mov edi, dword [esi + 0x48]
and dword [esi + 0x60], 0
add edx, ebx
add ecx, ebx
mov dword [esi + 0x58], ecx
sub edi, ebx
mov dword [esi + 0x5c], edi
jmp 0x49b648
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 8]
mov byte [esi + 0x1d], 0
mov dword [esi + 0x1000], 0x13
mov dword [esi + 0x9c], eax
call fcn.00404401
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 0x18]
xor eax, eax
mov bl, 1
mov ecx, dword [esi + 0x120]
mov dword [esi + 0x24], eax
mov dword [esi + 0x18], edx
test ecx, ecx
mov dword [esi + 0x10], ecx
je 0x49b910
movsd xmm0, qword [esi + 0x120]
movsd xmm1, qword [esi + 0x128]
test edx, edx
movsd qword [esi + 0x1d8], xmm1
movsd qword [esi + 0x1d0], xmm0
jne 0x49b7a5
mov dword [esi + 0x1000], 0x12
push 0x10
pop ecx
push 4
pop edx
call fcn.004484ab
movsd xmm0, qword [0x57fcf8]
movsd xmm1, qword [0x57fcf0]
xor ecx, ecx
mov dword [esi + 0x18], eax
movsd qword [eax + 8], xmm0
movsd qword [eax], xmm1
mov dword [esi + 0xa4], eax
mov byte [esi + 0x22], 1
mov dword [esi + 0x1000], 0xf
call fcn.0046b4c1
movsd xmm0, qword [esi + 0x1d0]
movsd xmm1, qword [esi + 0x1d8]
mov dword [esi + 0x1000], 0x11
movsd qword [esi + 0x268], xmm1
movsd qword [esi + 0x260], xmm0
push 0x10
pop ecx
push 4
pop edx
call fcn.004484ab
movsd xmm0, qword [esi + 0x260]
movsd xmm1, qword [esi + 0x268]
mov ecx, dword [esi + 0x18]
mov edx, 0xf7929b0f
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esi + 0xa4], ecx
mov byte [esi + 0x22], 0
mov dword [esi + 0x1000], 0xf
push 0x563bdc
push eax
push 0x3dc32b6a
push 0xc69677c3
push 0x19c3854
call fcn.00448248
add esp, 0x14
test eax, eax
je 0x49b90b
mov dword [esi + 0x1000], 0x10
mov dword [esi + 8], eax
push eax
lea eax, [esi + 0x1b0]
push eax
mov dword [esi + 0x14], edx
call dword [edx + 0xc]
add esp, 8
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
xor eax, 0xf7929b0f
xor ecx, 0x19c3854
or ecx, eax
jne 0x49b8e9
mov eax, dword [esi + 0x1bc]
mov ecx, dword [esi + 0x1b8]
xor ecx, 0xc69677c3
xor eax, 0x3dc32b6a
or eax, ecx
jne 0x49b8e9
mov ecx, dword [esi + 8]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [esi + 0x268], xmm1
movsd qword [esi + 0x260], xmm0
push 4
pop edx
call fcn.004332a0
cmp dword [esi + 0x260], 0
je 0x49b90b
mov eax, dword [esi + 0x18]
mov byte [esi + 0x21], 1
mov dword [esi + 0x1000], 0xd
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x24]
mov byte [esi + 0x1e], al
xor eax, eax
mov byte [esi + 0x1f], al
mov byte [esi + 0x20], al
lea eax, [esi + 0x260]
push eax
call fcn.00439130
pop eax
jmp 0x49b90b
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x14]
mov byte [esi + 0x22], 0
mov dword [esi + 0x1000], 0xf
mov dword [esi + 0xa4], eax
call fcn.00404401
mov edi, dword [esi + 0x50]
xor ebx, ebx
push 0x40
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x260]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0xe0]
mov eax, dword [esi + 0xec]
mov edx, dword [esi + 0x18]
mov dword [esi + 0x14], ebx
cmp cx, 0x64
mov byte [esi + 0x2a6], al
mov word [esi + 0x2a4], cx
mov dword [esi + 0x2a0], edx
je 0x49b982
movzx eax, cx
cmp eax, 0x65
je 0x49be4c
cmp eax, 0xcc
je 0x49be64
cmp eax, 0x130
je 0x49be64
lea eax, [ecx - 0x66]
cmp ax, 0x62
jae 0x49be2a
cmp dword [edi + 0xe4], 0
mov dword [esi + 0x1000], 0xd
je 0x49bdec
mov eax, dword [esi + 0x24]
lea ecx, [esi + 0x260]
mov dword [esi + 0xa0], edx
mov byte [esi + 0x1f], bl
mov byte [esi + 0x20], 1
mov byte [esi + 0x21], 0
mov byte [esi + 0x1e], al
call fcn.0046baa3
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x14]
or dword [esi + 0x40], eax
jne 0x49b9f1
mov eax, dword [esi + 0x58]
xor eax, 3
or eax, dword [esi + 0x5c]
je 0x49b9f1
lea eax, [esi + 0x58]
mov byte [esi + 0x2c], cl
mov byte [esi + 0x2d], 0
mov dword [esi + 0x1000], 5
push eax
call fcn.0045078d
mov ecx, dword [esi + 0x14]
add esp, 4
lea eax, [esi + 0x180]
mov byte [esi + 0x2a], cl
mov byte [esi + 0x2b], 0
mov dword [esi + 0x1000], 3
push eax
call fcn.00439130
pop eax
cmp dword [esi + 0x10], 0
jne 0x49ba35
cmp dword [esi + 0x120], 0
je 0x49ba35
lea eax, [esi + 0x120]
mov dword [esi + 0x1000], 1
push eax
call fcn.00439130
pop eax
mov eax, dword [esi + 0x50]
mov edi, dword [eax + 0xe4]
jmp 0x499eb1
mov eax, edi
mov edi, dword [esi + 0x34]
and dword [esi + 0x60], 0
sub eax, edx
test cl, 1
mov ecx, 1
lea edx, [edi + edx]
cmovne edi, ecx
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x58], edx
mov edx, 0
mov dword [esi + 0x5c], eax
mov dword [esi + 0x34], edi
cmovne ecx, edx
mov dword [esi + 0x24], ecx
jmp 0x49b12e
cmp edi, edx
jbe 0x49bc05
mov eax, dword [esi + 0x34]
cmp byte [eax + edx], 0xa
mov dl, 3
jne 0x49bc0d
mov edx, dword [esi + 0x24]
and dword [esi + 0x60], 0
lea eax, [edx + 2]
sub edi, eax
test cl, 1
mov ecx, 0
mov dword [esi + 0x40], edi
mov edi, dword [esi + 0x34]
lea eax, [edi + edx + 2]
cmovne edx, ecx
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x24], edx
mov dword [esi + 0x5c], eax
mov eax, 1
cmovne edi, eax
mov dword [esi + 0x34], edi
jmp 0x49b12e
cmp edi, ebx
jbe 0x49bc05
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x18]
mov al, byte [eax + ecx + 1]
add ecx, 2
mov dword [esi + 0x60], ecx
cmp al, 0xa
jne 0x49bc0b
add ecx, dword [esi + 0x3c]
mov eax, ecx
mov dword [esi + 8], ecx
shr ecx, 8
mov dword [esi + 0x18], ecx
jmp 0x49bb0c
add ebx, dword [esi + 0x3c]
mov eax, ebx
shr eax, 8
mov dword [esi + 0x18], eax
mov eax, ebx
mov dword [esi + 8], eax
mov ecx, dword [esi + 0xe0]
lea eax, [ecx - 0x3e8]
cmp ax, 0xfc7c
jb 0x49c08b
call fcn.0044c8a4
test eax, eax
je 0x49bb46
mov edi, edx
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x24]
push edi
push eax
call fcn.004558cb
pop ecx
pop edx
test al, al
je 0x49bb46
and dword [esi + 0x58], 0
jmp 0x49bb5f
mov edx, dword [esi + 0x34]
mov dword [esi + 0x1000], 1
lea ecx, [esi + 0x58]
push dword [esi + 0x24]
call fcn.00421c87
pop eax
mov ecx, dword [esi + 0x18]
movzx eax, byte [esi + 8]
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x40]
shl ecx, 8
shl edx, 4
or eax, ecx
xor ecx, ecx
mov dword [esi + 8], edx
add ebx, eax
cmp dword [esi + 8], ecx
je 0x49bbd4
mov edx, dword [esi + ecx + 0x264]
cmp edx, 0xffff
ja 0x49beeb
mov edi, dword [esi + ecx + 0x260]
mov eax, dword [esi + 0x10]
sub edi, eax
add edx, edi
mov dword [esi + ecx + 0x9b0], edi
mov edi, dword [esi + ecx + 0x268]
mov dword [esi + ecx + 0x9b4], edx
sub edi, eax
mov eax, dword [esi + ecx + 0x26c]
mov dword [esi + ecx + 0x9b8], edi
add eax, edi
mov dword [esi + ecx + 0x9bc], eax
add ecx, 0x10
jmp 0x49bb7b
lea ecx, [esi + 0x5c]
mov eax, dword [esi + 0x58]
mov dword [esi + 0x1000], 2
movsd xmm0, qword [ecx]
mov ecx, dword [ecx + 8]
movsd qword [esi + 0x130], xmm0
mov dword [esi + 0x138], ecx
jmp 0x49a1d3
xor eax, eax
jmp 0x49bca6
xor ecx, ecx
push 3
jmp 0x49bc1d
mov dl, 2
movsx eax, dl
xor ecx, ecx
mov al, byte [eax + 0x5a9bbc]
mov byte [esi + 0x23], al
push 4
pop eax
mov dword [esi + 8], eax
mov dword [esi + 0x10], ecx
and dword [esi + 0x1000], 0
lea ecx, [esi + 0x200]
call fcn.0043cf83
or dword [esi + 0x1000], 0xffffffff
lea ecx, [esi + 0x200]
call fcn.0043cf0c
mov eax, dword [esi + 8]
movzx edi, byte [esi + 0x23]
mov bl, byte [esi + 0x57]
xor eax, 4
or eax, dword [esi + 0x10]
je 0x49c0cb
push 0x3c
lea eax, [esi + 0x938]
push eax
lea eax, [esi + 0x974]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x193]
mov dl, byte [esi + 0x197]
xor ecx, 3
mov dword [esi + 0x108], eax
mov byte [esi + 0x10c], dl
or ecx, dword [esi + 0x10]
jne 0x49c0d9
mov edi, dword [esi + 0x50]
mov eax, dword [edi + 0xe4]
xor ecx, ecx
cmp byte [edi + 0xc8], 0
sete cl
cmp eax, dword [edi + ecx*4 + 0xcc]
jae 0x49c09d
mov edx, dword [esi + 0x17c]
lea ecx, [esi + 0x260]
push dword [ebp + 8]
call fcn.00496ef3
pop eax
xor edx, edx
cmp byte [esi + 0x260], 5
je 0x49c0ac
mov ecx, dword [esi + 0x264]
mov eax, dword [esi + 0x260]
mov dword [esi + 0x19c], ecx
lea ecx, [esi + 0x198]
mov dword [esi + 0x198], eax
call fcn.00499db6
test eax, eax
jne 0x49c0b1
test edx, edx
jne 0x499e8b
jmp 0x49c0c1
lea ecx, [esi + 0xf0]
call fcn.00422101
mov dl, 1
mov dword [esi + 0x10], 0
mov byte [esi + 0x23], 0xb
push 4
pop eax
mov dword [esi + 8], eax
xor ecx, ecx
mov al, 1
test cl, cl
mov dword [esi + 0x14], edx
jne 0x49bd6e
mov ecx, dword [esi + 0x58]
xor ecx, 3
or ecx, dword [esi + 0x5c]
je 0x49bd6e
mov byte [esi + 0x2d], al
lea eax, [esi + 0x58]
mov byte [esi + 0x2c], dl
mov dword [esi + 0x1000], 5
push eax
call fcn.0045078d
mov edx, dword [esi + 0x14]
add esp, 4
mov eax, dword [esi + 0xac]
cmp dword [esi + 0x38], eax
je 0x49bd94
lea ecx, [esi + 0x130]
mov byte [esi + 0x33], dl
mov dword [esi + 0x1000], 4
call fcn.0046b44b
mov edx, dword [esi + 0x14]
lea eax, [esi + 0x180]
mov byte [esi + 0x2a], dl
mov byte [esi + 0x2b], 0
mov dword [esi + 0x1000], 3
push eax
call fcn.00439130
pop eax
cmp byte [esi + 0x14], 0
je 0x49bc24
cmp dword [esi + 0x120], 0
je 0x49bc24
lea eax, [esi + 0x120]
mov dword [esi + 0x1000], 1
push eax
call fcn.00439130
pop eax
jmp 0x49bc24
mov dl, 3
jmp 0x49bc0d
mov dword [esi + 0x10], 0
push 3
pop eax
mov dword [esi + 8], eax
mov eax, dword [esi + 0x24]
lea ecx, [esi + 0x260]
mov dword [esi + 0xa0], edx
mov byte [esi + 0x1f], bl
mov byte [esi + 0x20], 1
mov byte [esi + 0x21], 0
mov dword [esi + 0x1000], 0xd
mov byte [esi + 0x1e], al
call fcn.0046baa3
jmp 0x49bed8
movzx eax, byte [edi + 0x78]
cmp eax, 5
je 0x49be64
cmp eax, 7
jne 0x49bf16
add ecx, 0xffffff38
cmp cx, 0x64
jae 0x49bf16
mov dword [esi + 0xa8], 0
mov cl, 1
mov dword [esi + 0x98], 0
jmp 0x49be7a
mov dword [esi + 0xa8], 0
mov dword [esi + 0x98], 0
xor ecx, ecx
mov bl, byte [esi + 0x44]
mov eax, ecx
mov dword [esi + 0xe4], ecx
movzx ecx, word [esi + 0x269]
xor al, 1
and bl, al
mov eax, dword [esi + 0x260]
mov dword [esi + 8], eax
movzx eax, byte [esi + 0x26b]
shl eax, 0x10
or ecx, eax
mov eax, dword [esi + 0x264]
mov dword [esi + 0x174], ecx
mov dword [esi + 0x10], eax
mov al, byte [esi + 0x268]
mov byte [esi + 0x23], al
push 0x3c
lea eax, [esi + 0x26c]
push eax
lea eax, [esi + 0x938]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x57], bl
mov eax, dword [esi + 0x34]
mov edx, dword [esi + 0x14]
or dword [esi + 0x40], eax
setne cl
xor eax, eax
jmp 0x49bd3d
lea ecx, [esi + 0x58]
mov dword [esi + 0x1000], 1
call fcn.0043b21f
xor ecx, ecx
mov byte [esi + 0x23], 9
jmp 0x49bc1b
mov dl, 1
jmp 0x49bc0d
xor edx, edx
jmp 0x49bc0d
and dword [esi + 0xc4], 0
and dword [esi + 0xc0], 0
and dword [esi + 0xb8], 0
lea ecx, [esi + 0x260]
lea edx, [esi + 0xb8]
mov dword [esi + 0xbc], 0x45
mov dword [esi + 0x1000], 0xe
call fcn.0043a449
test al, al
je 0x49bf6d
cmp byte [esi + 0x2a6], 1
jne 0x49bfbb
mov dword [esi + 0x10], 0
mov byte [esi + 0x23], 2
jmp 0x49c069
lea ecx, [esi + 0x1f0]
lea edx, [esi + 0x260]
call fcn.00454f1f
cmp dword [esi + 0x1f0], 1
jne 0x49c02a
mov eax, dword [esi + 0x1fc]
mov ecx, dword [esi + 0x1f8]
mov dword [esi + 0x10], 0
mov byte [esi + 0x23], 9
cmp ecx, 0xfffffffe
mov edx, eax
sbb edx, 0xffffffff
jae 0x49c069
mov dword [esi + 0xa8], ecx
jmp 0x49c080
and dword [esi + 0xc4], 0
and dword [esi + 0xc0], 0
and dword [esi + 0xb8], 0
lea eax, [esi + 0xb8]
mov dword [esi + 0xbc], 0x45
lea ecx, [esi + 0xd0]
lea edx, [esi + 0x260]
push eax
call fcn.00452591
pop eax
lea ecx, [esi + 0xb8]
lea edx, [esi + 0xd0]
call fcn.00453b60
lea ecx, [esi + 0xb8]
call fcn.004558f3
movzx eax, al
xor ecx, ecx
not eax
mov dword [esi + 0xa8], eax
xor eax, eax
dec eax
mov dword [esi + 0x98], eax
jmp 0x49be7a
and dword [esi + 0xc4], 0
and dword [esi + 0xc0], 0
and dword [esi + 0xb8], 0
lea ecx, [esi + 0x260]
lea edx, [esi + 0xb8]
mov dword [esi + 0xbc], 0x18
call fcn.0043a449
test al, al
mov byte [esi + 0x23], 1
je 0x49c077
mov dword [esi + 0x10], 0
push 4
pop eax
mov ebx, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
jmp 0x49bdf6
xor eax, eax
dec eax
mov dword [esi + 0xa8], eax
mov dword [esi + 0x98], eax
jmp 0x49be78
xor ecx, ecx
mov byte [esi + 0x23], 0xa
jmp 0x49bc1b
mov dl, 5
jmp 0x49bc0d
push 9
pop edx
xor ecx, ecx
call fcn.0044f8af
jmp 0x49c150
push 4
pop ecx
jmp 0x49c0b9
mov dword [esi + 0x14], edx
push 3
pop ecx
xor edx, edx
mov dword [esi + 0xe4], eax
jmp 0x49c11f
call fcn.004548f4
jmp 0x49c150
xor ecx, ecx
mov edx, edi
call fcn.0044f8af
mov edi, dword [esi + 0x50]
jmp 0x49c150
mov eax, dword [esi + 0x174]
shl eax, 8
or eax, edi
mov edi, eax
lea eax, [esi + 0x8fc]
push 0x3c
lea ecx, [esi + 0x974]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x10]
add esp, 0xc
mov eax, dword [esi + 0x108]
mov dword [esi + 0x14], edi
mov dword [esi + 0x100], eax
mov ah, byte [esi + 0x10c]
mov byte [esi + 0x104], ah
mov eax, ecx
xor eax, 3
or eax, edx
je 0x49c14a
mov eax, ecx
xor eax, 4
or eax, edx
jne 0x49c1b9
mov eax, dword [esi + 0xe8]
and dword [eax + 4], 0
mov dword [eax], 5
jmp 0x49c415
mov edi, dword [esi + 0x50]
mov eax, dword [esi + 0x14]
mov cl, byte [edi + 0x9a]
and dword [edi + 0x44], 0
mov dword [edi + 0x40], 4
mov byte [edi + 0x9a], 2
mov dword [esi + 0x130], eax
mov dword [esi + 0x14], eax
mov ebx, dword [edi + 0xe4]
test ebx, ebx
je 0x49c2db
mov byte [esi + 0x10], cl
mov ecx, dword [esi + 0xb4]
xor edx, edx
mov ecx, dword [ecx]
cmp ebx, edx
je 0x49c1a5
movzx edi, byte [ecx + edx]
cmp edi, 0xd
je 0x49c1a2
cmp edi, 0xa
jne 0x49c2ae
inc edx
jmp 0x49c18c
mov edx, ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x1000], 0x19
jmp 0x49c2c3
lea edi, [esi + 0x8ac]
lea eax, [esi + 0x8fc]
push 0x3c
push eax
push edi
mov dword [esi + 0x10], edx
mov dword [esi + 8], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x98]
mov edx, dword [esi + 0xa8]
mov ecx, dword [esi + 0xe4]
mov dword [edi + 0x40], eax
xor eax, eax
mov dword [edi + 0x3c], edx
mov byte [edi + 0x44], al
mov byte [edi + 0x45], bl
mov byte [edi + 0x46], cl
mov ecx, dword [esi + 0x100]
mov dword [edi + 0x47], ecx
mov cl, byte [esi + 0x104]
mov byte [edi + 0x4b], cl
mov ecx, dword [esi + 0x10]
mov dword [edi - 8], ecx
mov ecx, dword [esi + 8]
mov dword [edi - 0xc], ecx
mov ecx, dword [esi + 0x14]
mov dword [edi - 4], ecx
mov ecx, dword [esi + 0x50]
mov byte [ecx + 0x98], al
cmp byte [ecx + 0x9a], 2
jne 0x49c234
test bl, bl
jne 0x49c241
xor eax, eax
cmp bl, 1
adc al, 1
mov byte [ecx + 0x9a], al
mov ebx, dword [esi + 0x98]
cmp byte [esi + 0xe4], 0
mov edi, edx
mov eax, edx
mov edx, ebx
setne byte [esi + 0x10]
xor edi, 0xfffffffe
not edx
or edx, edi
mov dl, byte [esi + 0x8e6]
mov byte [ecx + 0x9b], dl
je 0x49c3c5
mov edx, eax
and eax, ebx
cmp eax, 0xffffffff
je 0x49c3c1
mov edi, ebx
mov eax, edx
xor ebx, ebx
or eax, edi
jne 0x49c3cb
mov edx, dword [ebp + 8]
and dword [ecx + 0x44], 0
mov dword [ecx + 0x40], 3
mov dword [esi + 0x1000], 0x1b
call fcn.00496d18
jmp 0x49c3e3
cmp ebx, edx
mov dword [esi + 0x58], edx
mov dword [esi + 0x1000], 0x19
jb 0x49c5ab
mov ecx, dword [esi + 0xb4]
mov byte [esi + 0x31], 1
call fcn.004220b5
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x50]
mov cl, byte [esi + 0x10]
cmp byte [eax + 0x18], 0
je 0x49c329
test cl, cl
jne 0x49c329
cmp dword [edi + 0xe4], 0
jne 0x49c329
mov eax, dword [esi + 0xe8]
and dword [edi + 0x5c], 0
or dword [esi + 0x1000], 0xffffffff
mov dword [edi + 0x58], 5
mov byte [edi + 0x9a], 2
and dword [eax + 4], 0
mov dword [eax], 4
lea eax, [esi + 0x130]
push eax
call fcn.0046b98d
pop eax
jmp 0x49c415
mov ebx, dword [edi + 0x58]
mov ecx, dword [edi + 0x5c]
add ebx, 0xfffffffe
adc ecx, 0xffffffff
xor edx, edx
push 3
pop edi
cmp edi, ebx
sbb edx, ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x260], ecx
jb 0x49c3ac
test ebx, ebx
jne 0x49c3ac
mov eax, dword [esi + 0x50]
cmp dword [eax + 0xe4], 0x18
jb 0x49c3ac
push 0x18
push 0x579087
mov eax, dword [esi + 0xb4]
push dword [eax]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 0x14]
add esp, 0xc
test eax, eax
jne 0x49c3ac
mov dword [esi + 0x1000], 0x1a
push 5
pop edx
xor ecx, ecx
call fcn.0044f8af
mov dword [esi + 0x14], eax
lea eax, [esi + 0x260]
mov byte [esi + 0x31], 0
mov dword [esi + 0x1000], 0x19
push eax
call fcn.0046b98d
pop eax
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0xe8]
and dword [eax + 4], 0
mov dword [eax], 3
mov dword [eax + 8], ecx
jmp 0x49c415
mov bl, 2
jmp 0x49c3cb
mov bl, 1
xor edx, edx
xor edi, edi
and dword [ecx + 0x44], 0
mov dword [ecx + 0x40], 2
mov byte [ecx + 0x48], bl
mov byte [ecx + 0x49], 0
mov dword [ecx + 0x50], edx
mov dword [ecx + 0x54], edi
mov bl, byte [esi + 0x10]
lea eax, [esi + 0x8a0]
add bl, bl
push 0x48
push eax
mov edi, dword [esi + 0xe8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0xa8]
mov dword [edi + 0x4c], eax
mov dword [edi + 0x48], ecx
mov byte [edi + 0x50], bl
mov eax, dword [esi + 0xff8]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [esi + 0xf], 0
mov ecx, edi
push 0x563d50
call fcn.00526920
pop eax
jmp 0x49c61e
mov byte [esi + 0xf], 1
push 0x563d40
call fcn.00526920
pop eax
jmp 0x49c61e
mov byte [esi + 0xf], 0
mov ecx, edi
push 0x563c0c
call fcn.00526920
pop eax
jmp 0x49c61e
mov cl, 1
mov dword [esi + 0x1000], 6
mov edx, edi
mov byte [esi + 5], cl
mov byte [esi + 6], cl
mov byte [esi + 7], cl
mov ecx, eax
push 0x565094
call fcn.00526980
pop eax
jmp 0x49c61e
mov cl, 1
mov dword [esi + 0x1000], 6
mov byte [esi + 5], cl
mov byte [esi + 6], cl
mov byte [esi + 7], cl
mov ecx, edx
mov edx, eax
push 0x565094
call fcn.00526b90
pop eax
jmp 0x49c61e
mov ecx, 0x5643b0
mov dword [esi + 0x1000], 8
call fcn.00526c90
jmp 0x49c61e
mov al, 1
mov dword [esi + 0x1000], 6
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
push 0x10
pop edx
mov ecx, str.reserve_overflow
push 0x563d90
call fcn.00526cb0
pop eax
jmp 0x49c61e
mov al, 1
mov dword [esi + 0x1000], 6
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
push 0x24
pop edx
mov ecx, str.header_map_reserve_over_max_capacity
push 0x563dc4
call fcn.005277b8
pop eax
jmp 0x49c61e
mov al, 1
mov dword [esi + 0x1000], 6
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
push 0x1d
pop edx
mov ecx, str.header_map_reserve_overflowed
push 0x563df4
call fcn.005277b8
pop eax
jmp 0x49c61e
mov edx, dword [esi + 8]
mov dword [esi + 0x1000], 0x18
mov ecx, ebx
push 0x563d10
call fcn.00526980
pop eax
jmp 0x49c61e
mov edx, dword [esi + 0x268]
mov ecx, dword [esi + 0x10]
mov al, 1
mov byte [esi + 5], al
mov byte [esi + 6], al
mov byte [esi + 7], al
call fcn.00526660
jmp 0x49c61e
mov byte [esi + 0xf], 1
push 4
pop ecx
mov edx, 0x120
call fcn.00526660
jmp 0x49c61e
lea eax, [esi + 0x58]
lea ecx, [esi + 0x220]
mov dword [esi + 0x220], ebx
mov dword [esi + 0x9b0], eax
mov eax, 0x4667e5
mov dword [esi + 0x9b4], eax
mov dword [esi + 0x9b8], ecx
lea ecx, [esi + 0x260]
mov dword [esi + 0x9bc], eax
mov dword [ecx], 0x582d7c
push 2
pop edx
mov dword [ecx + 4], edx
and dword [ecx + 0x10], 0
lea eax, [esi + 0x9b0]
mov byte [esi + 0x31], 1
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov edx, 0x582df8
call fcn.005268e0
jmp 0x49c61e
mov dword [esi + 0x1000], 1
push 0x5638cc
call fcn.00526980
pop eax
ud2