Function at 0x492e4d
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, 0xfffffff0
mov eax, 0x1040
call fcn.00527420
mov esi, esp
mov dword [esi + 0x1028], ebp
lea eax, [esi + 0x1030]
mov dword [esi + 0xdc], ecx
mov ebx, edx
mov dword [esi + 0xb0], edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x505280
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov al, byte [edx + 0x91]
mov byte [esi + 0xb9], al
mov al, byte [edx + 0x92]
mov byte [esi + 0x42], al
mov al, byte [edx + 0x94]
mov byte [esi + 0x4f], al
mov al, byte [edx + 0x95]
mov byte [esi + 0x36], al
mov al, byte [edx + 0x96]
mov byte [esi + 0xba], al
mov al, byte [edx + 0x98]
mov byte [esi + 0xbb], al
lea eax, [edx + 0xa0]
mov dword [esi + 0x1ac], eax
lea eax, [edx + 0xe0]
mov dword [esi + 0xd8], eax
lea eax, [edx + 8]
mov dword [esi + 0x1a8], eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x3c], eax
mov ecx, dword [ebx + 0xe4]
test ecx, ecx
je 0x494d73
mov dword [esi + 0x1d0], 2
and dword [esi + 0x1e0], 0
mov eax, dword [esi + 0xd8]
xor edi, edi
mov dword [esi + 4], ecx
mov eax, dword [eax]
mov dword [esi + 0x50], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], edi
lea ecx, [esi + 0x50]
call fcn.0044ee16
test al, 1
je 0x494d7a
cmp dl, 0xd
jne 0x492f71
lea eax, [edi + 1]
cmp dword [esi + 4], eax
mov dword [esi + 0x58], eax
jbe 0x494d7a
mov eax, dword [esi + 0x10]
mov al, byte [eax + edi + 1]
add edi, 2
mov dword [esi + 0x58], edi
cmp al, 0xa
je 0x492f37
jmp 0x494d87
movzx eax, dl
cmp eax, 0xa
jne 0x492f7c
inc edi
jmp 0x492f34
lea ecx, [esi + 0x50]
call fcn.0044edf2
mov eax, dword [esi + 0x58]
mov edi, dword [esi + 0x54]
cmp eax, 0xfffffff7
ja 0x493046
lea edx, [eax + 8]
cmp edx, edi
ja 0x493046
mov ecx, dword [esi + 0x50]
movq xmm0, qword [ecx + eax]
mov dword [esi + 8], ecx
movdqa xmmword [esi + 0x190], xmm0
mov cl, byte [esi + 0x196]
mov byte [esi + 0x14], cl
mov cl, byte [esi + 0x195]
mov byte [esi + 0xc], cl
mov bh, byte [esi + 0x190]
mov bl, byte [esi + 0x194]
mov cl, byte [esi + 0x193]
mov ch, byte [esi + 0x192]
cmp bh, 0x48
mov bh, byte [esi + 0x191]
mov dword [esi + 0x58], edx
jne 0x49325d
cmp bh, 0x54
jne 0x49325d
cmp ch, 0x54
jne 0x49325d
cmp cl, 0x50
jne 0x49325d
cmp bl, 0x2f
jne 0x49325d
cmp byte [esi + 0xc], 0x31
jne 0x49325d
cmp byte [esi + 0x14], 0x2e
jne 0x49325d
pextrw ecx, xmm0, 3
shr ecx, 8
cmp cl, 0x30
je 0x49310c
cmp ecx, 0x31
jne 0x49325d
mov cl, 2
jmp 0x49310e
cmp edi, eax
jbe 0x494d7a
mov edx, dword [esi + 0x50]
lea ecx, [eax + 1]
mov bl, byte [edx + eax]
mov dword [esi + 0x58], ecx
cmp bl, 0x48
jne 0x49325d
cmp edi, ecx
jbe 0x494d7a
mov bl, byte [edx + eax + 1]
lea ecx, [eax + 2]
mov dword [esi + 0x58], ecx
cmp bl, 0x54
jne 0x49325d
cmp edi, ecx
jbe 0x494d7a
mov bl, byte [edx + eax + 2]
lea ecx, [eax + 3]
mov dword [esi + 0x58], ecx
cmp bl, 0x54
jne 0x49325d
cmp edi, ecx
jbe 0x494d7a
mov bl, byte [edx + eax + 3]
lea ecx, [eax + 4]
mov dword [esi + 0x58], ecx
cmp bl, 0x50
jne 0x49325d
cmp edi, ecx
jbe 0x494d7a
mov bl, byte [edx + eax + 4]
lea ecx, [eax + 5]
mov dword [esi + 0x58], ecx
cmp bl, 0x2f
jne 0x49325d
cmp edi, ecx
jbe 0x494d7a
mov cl, byte [edx + eax + 5]
add eax, 6
mov dword [esi + 0x58], eax
cmp cl, 0x31
jne 0x49325d
cmp edi, eax
jbe 0x494d7a
cmp byte [edx + eax], 0x2e
push 6
pop eax
mov ecx, 0
cmove eax, ecx
jne 0x493260
jmp 0x494d7a
mov cl, 1
cmp edi, edx
mov dword [esi + 0xe0], ecx
jbe 0x494d7a
mov ecx, dword [esi + 8]
mov cl, byte [ecx + eax + 8]
add eax, 9
mov dword [esi + 0x58], eax
cmp cl, 0x20
jne 0x49325d
lea ecx, [esi + 0x50]
call fcn.0044edf2
cmp byte [esi + 0x4f], 0
je 0x493150
lea ecx, [esi + 0x50]
call fcn.0044edc5
test al, al
jne 0x494d7a
mov ecx, dword [esi + 0x54]
mov eax, dword [esi + 0x58]
cmp ecx, eax
jbe 0x494d7a
mov edx, dword [esi + 0x50]
mov bl, byte [edx + eax]
add bl, 0xd0
cmp bl, 9
mov byte [esi + 0x14], bl
ja 0x494f7b
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x494d7a
mov bl, byte [edx + eax + 1]
add bl, 0xd0
cmp bl, 9
mov byte [esi + 8], bl
ja 0x494f7b
lea edi, [eax + 2]
cmp ecx, edi
jbe 0x494d7a
mov bl, byte [edx + eax + 2]
add bl, 0xd0
cmp bl, 0xa
mov byte [esi + 0x30], bl
jae 0x494f7b
lea edi, [eax + 3]
cmp ecx, edi
jbe 0x494d7a
movzx edi, byte [edx + eax + 3]
lea ebx, [eax + 4]
mov dword [esi + 0x58], ebx
cmp edi, 0xa
je 0x4941ce
cmp edi, 0xd
je 0x4941b3
cmp edi, 0x20
jne 0x494f7b
cmp byte [esi + 0x4f], 0
je 0x4931f6
lea ecx, [esi + 0x50]
call fcn.0044edc5
test al, al
jne 0x494d7a
lea ecx, [esi + 0x50]
call fcn.0044edf2
mov eax, dword [esi + 0x54]
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 0x58]
xor ecx, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0xc], edx
mov dword [esi + 0x38], edx
jbe 0x494d7a
mov eax, dword [esi + 0x38]
movzx ebx, byte [edi + eax]
lea edx, [eax + 1]
cmp ebx, 9
je 0x49324e
cmp ebx, 0x20
je 0x49324e
cmp ebx, 0xa
je 0x494bf9
cmp ebx, 0xd
je 0x494bb2
test bl, bl
js 0x49324e
mov eax, ebx
add al, 0xdf
cmp al, 0x5d
ja 0x494f7b
test bl, bl
movzx ecx, cl
mov eax, 1
cmovs ecx, eax
jmp 0x49320c
push 6
pop eax
cmp al, 6
jne 0x494d8a
cmp byte [esi + 0xbb], 0
je 0x494d8a
mov ax, 0xc8
xor edi, edi
mov dword [esi + 0xe0], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10c], eax
xor eax, eax
mov edx, dword [esi + 0x158]
lea ecx, [esi + 0x144]
movsd xmm0, qword [esi + 0x150]
mov dword [esi + 0x140], eax
mov byte [esi + 0x43], 1
mov dword [esi + 0x1038], 2
mov dword [ecx + 8], edx
mov edx, dword [esi + 0xd8]
movsd qword [ecx], xmm0
lea ecx, [esi + 0x220]
push edi
call fcn.00423529
pop eax
cmp byte [esi + 0x42], 0
je 0x493369
mov edx, dword [esi + 0xc]
mov al, 1
mov dword [esi + 0x1038], 3
lea ecx, [esi + 0x9e8]
mov byte [esi + 0x28], al
mov byte [esi + 0x29], al
push 0x57630c
call fcn.004567b8
pop ecx
shl edx, 4
mov ebx, eax
add edx, eax
mov dword [esi + 0x10], edx
cmp ebx, dword [esi + 0x10]
mov dword [esi + 0x1038], 3
je 0x493369
mov eax, dword [esi + 0x220]
mov edx, dword [ebx + 0xc]
mov edi, dword [esi + 0x224]
mov ecx, dword [ebx + 8]
mov dword [esi + 4], ebx
mov bl, 1
mov byte [esi + 0x28], bl
mov byte [esi + 0x29], bl
push 0x57633c
push edi
push eax
call fcn.00464705
mov ebx, dword [esi + 4]
add esp, 0xc
add ebx, 0x10
test edx, edx
je 0x493310
movzx ecx, byte [eax]
cmp ecx, 0xd
je 0x493362
cmp ecx, 0xa
jne 0x493365
mov byte [eax], 0x20
inc eax
dec edx
jmp 0x493351
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0x220]
mov byte [esi + 0x28], 1
mov byte [esi + 0x29], 0
mov dword [esi + 0x1038], 3
call fcn.0043e028
mov edx, dword [esi + 0xb0]
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 0x4933c5
lea ecx, [esi + 0x150]
mov byte [esi + 0x37], 1
mov dword [esi + 0x1038], 4
call fcn.0044a113
jmp 0x4933e8
mov dword [esi + 0x150], eax
mov dword [esi + 0x154], ecx
push 0x38
push dword [esi + 0x1a8]
lea eax, [esi + 0x158]
push eax
call fcn.005282a0
add esp, 0xc
cmp byte [esi + 0xe0], 2
sete byte [esi + 0xb4]
cmp byte [esi + 0xba], 0
je 0x493453
mov al, 1
mov dword [esi + 0x1038], 5
xor ecx, ecx
mov byte [esi + 0x2a], al
mov byte [esi + 0x2b], al
push 2
pop edx
call fcn.004eca76
and dword [esi + 0x54], 0
and dword [esi + 0x50], 0
mov dword [esi + 0x68], eax
and dword [esi + 0x6c], 0
and dword [esi + 0x70], 0
push 4
pop eax
mov dword [esi + 0x74], eax
and dword [esi + 0x78], 0
and dword [esi + 0x7c], 0
mov dword [esi + 0x80], eax
and dword [esi + 0x84], 0
and word [esi + 0x88], 0
jmp 0x49345e
and dword [esi + 0x54], 0
mov dword [esi + 0x50], 3
mov eax, dword [esi + 0x178]
mov dword [esi + 0x14], eax
add eax, dword [esi + 0xc]
jb 0x495640
mov edx, dword [esi + 0x16c]
cmp eax, edx
mov ecx, edx
mov dword [esi + 0x10], edx
jbe 0x4936c1
lea ecx, [eax - 1]
bsr ecx, ecx
xor edx, edx
dec edx
not ecx
shr edx, cl
mov ecx, 1
inc edx
cmp eax, 2
cmovb edx, ecx
cmp edx, 0x8001
jae 0x495698
test edx, edx
je 0x49566c
cmp dword [esi + 0x14], 0
mov dword [esi + 8], edx
je 0x49350f
movzx eax, word [esi + 0x188]
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 0x168]
xor edx, edx
mov dword [esi + 0x30], 0
movzx eax, ax
lea ecx, [ecx*4]
mov dword [esi + 4], edi
test ecx, ecx
je 0x4935c3
cmp word [edi + edx*4], 0xffff
je 0x493509
mov edi, dword [esi + 4]
mov ebx, eax
movzx edi, word [edi + edx*4 + 2]
and ebx, edi
mov edi, edx
sub edi, ebx
test edi, eax
mov edi, dword [esi + 4]
je 0x4935c0
add ecx, 0xfffffffc
inc edx
jmp 0x4934df
mov cl, 1
lea eax, [edx - 1]
mov dword [esi + 0x1038], 6
mov byte [esi], cl
mov byte [esi + 1], cl
mov byte [esi + 2], cl
lea ecx, [esi + 0x298]
mov word [esi + 0x188], ax
call fcn.00449d22
mov al, 1
lea ecx, [esi + 0x298]
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
call fcn.00449c3d
mov ebx, edx
mov ecx, dword [esi + 0x168]
mov edx, dword [esi + 0x16c]
mov edi, eax
call fcn.0043b2e2
mov ecx, dword [esi + 8]
mov dword [esi + 0x168], edi
mov dword [esi + 0x16c], ebx
mov eax, ecx
shr eax, 2
sub ecx, eax
mov al, 1
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
call fcn.00449e94
mov dword [esi + 0x10], eax
mov dword [esi + 4], edx
lea ecx, [esi + 0x170]
mov dword [esi + 0x1038], 0x17
call fcn.00450665
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 4]
mov dword [esi + 0x170], eax
mov dword [esi + 0x174], ecx
and dword [esi + 0x178], 0
jmp 0x4936c1
mov dword [esi + 0x30], edx
mov edx, dword [esi + 8]
mov al, 1
lea ecx, [esi + 0x298]
mov dword [esi + 0x1038], 6
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
call fcn.00449d22
mov al, 1
lea ecx, [esi + 0x298]
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
call fcn.00449c3d
mov dword [esi + 0x168], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x16c], edx
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 4]
mov dword [esi + 0x1038], 0x18
dec eax
mov word [esi + 0x188], ax
push dword [esi + 0x30]
call fcn.00452723
pop ecx
mov edi, edx
shl edi, 2
test edi, edi
je 0x493651
lea ebx, [eax + 4]
movzx edx, word [eax]
movzx eax, word [eax + 2]
lea ecx, [esi + 0x150]
push eax
call fcn.00452758
pop eax
add edi, 0xfffffffc
mov eax, ebx
jmp 0x49362f
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 4]
mov dword [esi + 0x1038], 0x18
push dword [esi + 0x30]
call fcn.00452741
pop ecx
mov edi, edx
shl edi, 2
test edi, edi
je 0x493691
lea ebx, [eax + 4]
movzx edx, word [eax]
movzx eax, word [eax + 2]
lea ecx, [esi + 0x150]
push eax
call fcn.00452758
pop eax
add edi, 0xfffffffc
mov eax, ebx
jmp 0x49366f
mov edx, dword [esi + 0x16c]
lea ecx, [esi + 0x170]
mov dword [esi + 0x1038], 0x18
mov eax, edx
shr eax, 2
add eax, dword [esi + 0x14]
sub edx, eax
call fcn.0043b4cb
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x10]
call fcn.0043b2e2
mov edx, dword [esi + 0xc]
mov al, 1
mov dword [esi + 0x1038], 6
lea ecx, [esi + 0x9e8]
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
push 0x57631c
call fcn.004567b8
pop ecx
shl edx, 4
add edx, eax
mov dword [esi + 0xe4], edx
mov edi, dword [esi + 0xb0]
cmp eax, dword [esi + 0xe4]
mov dword [esi + 0x44], eax
je 0x49400c
mov edx, eax
mov eax, dword [esi + 0x1b4]
mov edi, dword [esi + 0x1b8]
mov bl, 1
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov byte [esi], bl
mov byte [esi + 1], bl
mov byte [esi + 2], bl
mov dword [esi + 0x1038], 6
push 0x57632c
push edi
push eax
call fcn.00464705
add esp, 0xc
mov edi, edx
lea ecx, [esi + 0xc0]
mov edx, eax
push 0x573af8
lea eax, [esi + 0x298]
push eax
push edi
call fcn.0044a264
add esp, 0xc
movzx eax, byte [esi + 0xc8]
cmp eax, 3
je 0x494eb1
mov edx, dword [esi + 0xc0]
mov edi, dword [esi + 0xc4]
test eax, eax
je 0x49378a
cmp eax, 2
jne 0x4937eb
xor eax, eax
jmp 0x493878
mov al, 1
mov dword [esi + 4], edx
lea ecx, [esi + 0x110]
mov edx, edi
mov dword [esi + 0x10], edi
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
call fcn.0044cd18
mov eax, dword [esi + 4]
add dword [esi + 0x10], eax
cmp eax, dword [esi + 0x10]
mov dword [esi + 0xc], eax
je 0x493816
mov ecx, eax
movzx eax, byte [eax]
mov al, byte [eax + 0x573af8]
test al, al
je 0x494ea6
lea edx, [ecx + 1]
lea ecx, [esi + 0x110]
mov dword [esi + 0x1038], 0xc
mov dword [esi + 4], edx
movzx edx, al
call fcn.00449ed2
mov eax, dword [esi + 4]
jmp 0x4937ad
mov al, 1
lea ecx, [esi + 0xc0]
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
push edi
call fcn.00422f83
pop eax
mov eax, dword [esi + 0xc0]
mov dl, byte [esi + 0xc4]
lea ecx, [esi + 0xc5]
jmp 0x493863
movsd xmm0, qword [esi + 0x110]
movsd xmm1, qword [esi + 0x118]
lea ecx, [esi + 0xe8]
lea edx, [esi + 0xc0]
mov dword [esi + 0x1038], 0xc
movsd qword [esi + 0xc8], xmm1
movsd qword [esi + 0xc0], xmm0
call fcn.0044cd5a
mov eax, dword [esi + 0xe8]
mov dl, byte [esi + 0xec]
lea ecx, [esi + 0xed]
movsd xmm0, qword [ecx]
mov ecx, dword [ecx + 7]
movsd qword [esi + 0xf8], xmm0
mov dword [esi + 0xff], ecx
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0xff]
movsd xmm0, qword [esi + 0xf8]
lea ecx, [esi + 0x135]
mov byte [esi + 0x134], dl
lea edx, [esi + 0x1b0]
mov dword [ecx + 7], eax
movsd qword [ecx], xmm0
mov ecx, dword [esi + 0x44]
mov edi, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov byte [esi + 0x2e], 1
mov dword [esi + 0x1038], 7
lea ecx, [esi + 0x110]
push edi
push eax
call fcn.00423116
pop eax
pop ecx
movsd xmm0, qword [esi + 0x110]
movsd xmm1, qword [esi + 0x118]
mov dword [esi + 0x1038], 8
lea ecx, [esi + 0x298]
lea edx, [esi + 0x110]
movsd qword [esi + 0xe8], xmm0
and dword [esi + 0xe8], 0
movsd qword [esi + 0xf0], xmm1
push 0x575648
call fcn.0043ab01
pop eax
movsd xmm0, qword [esi + 0x298]
movsd xmm1, qword [esi + 0x2a0]
lea ecx, [esi + 0xe8]
mov byte [esi + 0x2e], 1
mov dword [esi + 0x1038], 7
movsd qword [esi + 0xc8], xmm1
movsd qword [esi + 0xc0], xmm0
mov byte [esi + 0xd0], 0
call fcn.0043c06a
cmp dword [esi + 0x130], 0
jne 0x4939c6
cmp byte [esi + 0x134], 0x14
jne 0x4939c6
mov ecx, dword [esi + 0xc4]
mov edx, dword [esi + 0xc8]
test byte [esi + 0xb4], 1
jne 0x493999
mov byte [esi + 0x2c], 0
mov byte [esi + 0x2d], 1
mov dword [esi + 0x1038], 9
call fcn.00455b79
mov byte [esi + 0xb4], al
jmp 0x4939c6
mov byte [esi + 0x2c], 0
mov byte [esi + 0x2d], 1
mov dword [esi + 0x1038], 9
push 5
push 0x575edd
call fcn.00455b88
pop ecx
pop edx
mov byte [esi + 0xb4], al
xor byte [esi + 0xb4], 1
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1038], 9
xor eax, 3
or eax, dword [esi + 0x54]
je 0x493f8a
mov ecx, dword [esi + 0x44]
lea edx, [esi + 0x1b0]
mov edi, dword [ecx + 4]
mov eax, dword [ecx]
mov byte [esi + 0x2c], 0
mov byte [esi + 0x2d], 1
lea ecx, [esi + 0xf8]
push edi
push eax
call fcn.00423116
pop eax
pop ecx
mov ecx, dword [esi + 0x50]
mov eax, dword [esi + 0x78]
xor ecx, 1
or ecx, dword [esi + 0x54]
jne 0x493a82
movq xmm2, qword [0x53b500]
movd xmm1, dword [esi + 0x6c]
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 [0x53b508]
jae 0x493abf
lea ecx, [esi + 0x50]
mov byte [esi + 3], 1
mov dword [esi + 0x1038], 0xa
call fcn.0044a200
mov edx, dword [esi + 0x68]
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x10], eax
lea eax, [eax*4]
mov ecx, edx
test eax, eax
je 0x493ae7
mov dword [ecx], 0xffff
add ecx, 4
add eax, 0xfffffffc
jmp 0x493a70
mov edx, dword [esi + 0x6c]
mov ecx, edx
mov dword [esi + 4], edx
shr ecx, 2
sub edx, ecx
cmp eax, edx
jne 0x493c1b
test eax, eax
je 0x493b97
mov edx, dword [esi + 4]
lea ecx, [esi + 0x50]
mov byte [esi + 3], 1
mov dword [esi + 0x1038], 0xa
add edx, edx
call fcn.0045252a
jmp 0x493c1b
mov edx, dword [esi + 0x6c]
and dword [esi + 0x54], 0
and dword [esi + 0x50], 0
lea ecx, [esi + 0x50]
mov byte [esi + 3], 1
mov dword [esi + 0x1038], 0xa
add edx, edx
call fcn.0045252a
jmp 0x493c1b
mov edi, dword [esi + 0x74]
imul eax, dword [esi + 0x78], 0x30
mov dword [esi + 4], edx
add eax, edi
mov dword [esi + 0x20], eax
movzx eax, word [esi + 0x88]
movzx eax, ax
mov dword [esi + 0xc], eax
xor eax, eax
cmp edi, dword [esi + 0x20]
je 0x493c1b
lea ecx, [edi + 0x30]
mov dword [esi + 0x14], eax
inc eax
lea edx, [edi + 0x1c]
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0x50]
mov dword [esi + 8], eax
call fcn.0043ab2a
mov edx, dword [esi + 0xc]
movzx ecx, ax
mov dword [esi + 0x38], eax
xor eax, eax
mov word [edi + 0x2c], cx
and edx, ecx
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x10]
mov ebx, edx
xor edx, edx
cmp ebx, ecx
jae 0x493b3d
cmp word [edi + ebx*4], 0xffff
je 0x493b66
movzx edx, word [edi + ebx*4 + 2]
mov ecx, dword [esi + 0xc]
mov edi, ebx
and edx, ecx
sub edi, edx
and edi, ecx
cmp edi, eax
jb 0x493b77
inc ebx
inc eax
mov edx, ebx
jmp 0x493b37
mov eax, dword [esi + 0x14]
mov word [edi + ebx*4], ax
mov eax, dword [esi + 0x38]
mov word [edi + ebx*4 + 2], ax
jmp 0x493b8c
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x10]
push dword [esi + 0x38]
push dword [esi + 0x14]
push ebx
call fcn.0043b471
add esp, 0xc
mov edi, dword [esi + 0x30]
mov eax, dword [esi + 8]
jmp 0x493b05
mov word [esi + 0x88], 7
mov byte [esi + 3], 1
mov dword [esi + 0x1038], 0xa
lea ecx, [esi + 0x298]
push 8
pop edx
call fcn.00449d22
lea ecx, [esi + 0x298]
mov byte [esi + 3], 1
call fcn.00449c3d
mov ebx, edx
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 4]
mov edi, eax
call fcn.0043b2e2
mov dword [esi + 0x68], edi
mov dword [esi + 0x6c], ebx
push 4
pop ecx
mov edx, 0x120
call fcn.004eb771
test eax, eax
mov dword [esi + 4], eax
je 0x4956c1
lea ecx, [esi + 0x70]
mov dword [esi + 0x1038], 0xb
call fcn.00451a4a
mov eax, dword [esi + 4]
mov dword [esi + 0x70], 6
mov dword [esi + 0x74], eax
and dword [esi + 0x78], 0
lea ecx, [esi + 0x50]
lea edx, [esi + 0x130]
call fcn.00452205
movzx ecx, word [esi + 0x88]
mov dword [esi + 0xc], eax
mov edx, dword [esi + 0x68]
mov ebx, dword [esi + 0x6c]
mov edi, dword [esi + 0x78]
mov dword [esi + 4], 0
and eax, ecx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x20], edi
mov dword [esi + 0x30], edx
mov dword [esi + 0x38], ebx
mov dword [esi + 0xbc], ecx
mov edi, eax
cmp eax, ebx
mov eax, 0
jae 0x493c5a
movzx eax, word [edx + edi*4]
cmp eax, 0xffff
je 0x493cf8
mov ebx, dword [esi + 8]
mov dword [esi + 0x10], 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 + 4]
cmp edx, ebx
mov edx, ebx
jb 0x493d84
cmp ax, word [esi + 0xc]
jne 0x493ce6
mov ecx, dword [esi + 0xbc]
mov edx, dword [esi + 0x20]
mov dword [esi + 0x14], edi
mov byte [esi + 3], 1
mov dword [esi + 0x1038], 0xa
push 0x574fc8
push dword [esi + 0x10]
call fcn.0045250f
pop ecx
pop edx
add eax, 0x1c
lea edx, [esi + 0x130]
mov ecx, eax
call fcn.0043b6cb
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
test al, al
jne 0x493e71
inc edx
mov ebx, dword [esi + 0x38]
inc edi
mov dword [esi + 4], edx
mov edx, dword [esi + 0x30]
mov eax, edi
jmp 0x493c5a
mov eax, dword [esi + 0x78]
lea ecx, [esi + 0xe8]
lea edx, [esi + 0x130]
mov dword [esi + 0x14], edi
mov byte [esi + 3], 1
mov dword [esi + 0x1038], 0xa
mov dword [esi + 4], eax
call fcn.0044ceda
movsd xmm0, qword [esi + 0xf8]
movsd xmm1, qword [esi + 0x100]
mov edx, dword [esi + 0xc]
lea eax, [esi + 0x298]
mov byte [esi + 3], 0
lea ecx, [esi + 0x50]
movsd qword [esi + 0x2a0], xmm1
movsd qword [esi + 0x298], xmm0
push eax
lea eax, [esi + 0xe8]
push eax
call fcn.00452d36
pop eax
pop ecx
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0x14]
cmp edi, edx
jae 0x495600
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 4]
mov word [eax + edi*4], cx
mov ecx, dword [esi + 0xc]
mov word [eax + edi*4 + 2], cx
jmp 0x493f8a
mov eax, dword [esi + 0x50]
cmp edx, 0x200
lea ecx, [esi + 0x110]
lea edx, [esi + 0x130]
mov dword [esi + 0x14], edi
mov byte [esi + 3], 1
mov dword [esi + 0x1038], 0xa
setae byte [esi + 4]
xor eax, 2
or eax, dword [esi + 0x54]
setne byte [esi + 0x10]
call fcn.0044ceda
movsd xmm0, qword [esi + 0xf8]
mov eax, dword [esi + 0x78]
movsd xmm1, qword [esi + 0x100]
movsd xmm2, qword [esi + 0x118]
mov edx, dword [esi + 0xc]
mov byte [esi + 3], 0
lea ecx, [esi + 0x50]
movsd qword [esi + 0x298], xmm0
movsd xmm0, qword [esi + 0x110]
mov dword [esi + 8], eax
lea eax, [esi + 0x298]
movsd qword [esi + 0x2a0], xmm1
movsd qword [esi + 0xf0], xmm2
movsd qword [esi + 0xe8], xmm0
push eax
lea eax, [esi + 0xe8]
push eax
call fcn.00452d36
pop eax
pop ecx
mov bl, byte [esi + 4]
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
and bl, byte [esi + 0x10]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 0x14]
call fcn.0043b471
add esp, 0xc
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x54]
cmp eax, 0x7f
seta al
or al, bl
mov edi, ecx
or edi, edx
mov edi, 1
sete ah
test al, ah
cmovne ecx, edi
mov dword [esi + 0x50], ecx
mov ecx, 0
cmovne edx, ecx
mov dword [esi + 0x54], edx
jmp 0x493f8a
mov edx, dword [esi + 0x20]
cmp edx, ecx
jbe 0x495616
mov edx, dword [esi + 0xbc]
imul eax, ecx, 0x30
cmp dword [edx + eax], 0
lea edi, [edx + eax]
mov dword [esi + 4], edi
je 0x493f24
mov edx, dword [edi + 8]
movsd xmm0, qword [esi + 0xf8]
movsd xmm1, qword [esi + 0x100]
lea eax, [esi + 0x2a8]
mov byte [esi + 3], 0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esi + 0x298], 1
mov dword [esi + 0x29c], edx
and dword [esi + 0x2a0], 0
mov dword [esi + 0x2a4], ecx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0xc], edx
lea edx, [esi + 0x298]
mov dword [esi + 0x10], ecx
lea ecx, [esi + 0x7c]
call fcn.00452c8e
mov edx, dword [esi + 0x84]
mov edi, dword [esi + 0xc]
cmp edx, edi
jbe 0x49562a
mov eax, dword [esi + 0x80]
mov edx, dword [esi + 0x10]
shl edi, 5
xor ecx, ecx
inc ecx
mov dword [eax + edi + 8], ecx
mov dword [eax + edi + 0xc], edx
mov edi, dword [esi + 4]
mov dword [edi], ecx
mov dword [edi + 8], edx
jmp 0x493f8a
movsd xmm0, qword [esi + 0xf8]
movsd xmm1, qword [esi + 0x100]
lea edx, [esi + 0x2a8]
mov eax, dword [esi + 0x84]
mov byte [esi + 3], 0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
and dword [esi + 0x298], 0
mov dword [esi + 0x29c], ecx
and dword [esi + 0x2a0], 0
mov dword [esi + 0x2a4], ecx
lea ecx, [esi + 0x7c]
lea edx, [esi + 0x298]
mov dword [esi + 0xc], eax
call fcn.00452c8e
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
mov dword [eax], 1
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
movsd xmm0, qword [esi + 0x130]
mov eax, dword [esi + 0xd0]
movsd xmm1, qword [esi + 0x138]
movsd xmm2, qword [esi + 0xc8]
mov byte [esi + 0x2c], 1
mov byte [esi + 0x2d], 0
mov dword [esi + 0x1038], 9
lea ecx, [esi + 0x150]
lea edx, [esi + 0xe8]
movsd qword [esi + 0xe8], xmm0
movsd xmm0, qword [esi + 0xc0]
mov dword [esi + 0x2a8], eax
lea eax, [esi + 0x298]
movsd qword [esi + 0xf0], xmm1
movsd qword [esi + 0x2a0], xmm2
movsd qword [esi + 0x298], xmm0
push eax
call fcn.0043bb02
pop eax
mov eax, dword [esi + 0x44]
add eax, 0x10
jmp 0x4936f4
mov eax, dword [esi + 0x50]
mov edx, dword [esi + 0x54]
xor ecx, ecx
mov bl, 1
xor eax, 3
mov dword [esi + 0x10], edx
mov dword [esi + 4], eax
or eax, edx
mov al, 1
je 0x494876
push 0x40
lea eax, [esi + 0x50]
push eax
lea eax, [esi + 0x258]
push eax
call fcn.005282a0
add esp, 0xc
mov dword [esi + 0x1038], 0x16
push 0x10
pop ecx
push 4
pop edx
call fcn.004eca76
movsd xmm0, qword [0x591408]
movsd xmm1, qword [0x591400]
xor ecx, ecx
mov dword [esi + 0x14], eax
movsd qword [eax + 8], xmm0
movsd qword [eax], xmm1
mov dword [esi + 0x9c], eax
mov byte [esi + 0x1a], 1
mov dword [esi + 0x1038], 0x13
call fcn.0044f970
mov dword [esi + 0x1038], 0x15
push 0x40
pop ecx
push 8
pop edx
call fcn.004eca76
mov edi, eax
push 0x40
lea eax, [esi + 0x50]
push eax
push edi
call fcn.005282a0
add esp, 0xc
mov ecx, dword [esi + 0x14]
mov edx, 0x815bb67a
mov byte [esi + 0x1a], 0
mov dword [esi + 0x1038], 0x13
mov dword [esi + 0x9c], ecx
push 0x574e84
push edi
push 0xdca76215
push 0x151723e5
push 0xb40769b4
call fcn.00449285
add esp, 0x14
test eax, eax
je 0x494869
mov dword [esi + 0x1038], 0x14
mov dword [esi + 0xc], eax
push eax
lea eax, [esi + 0x200]
push eax
mov dword [esi + 8], edx
call dword [edx + 0xc]
add esp, 8
mov eax, dword [esi + 0x20c]
mov ecx, dword [esi + 0x208]
mov edi, dword [esi + 0x200]
mov edx, dword [esi + 0x204]
xor edi, 0x815bb67a
xor ecx, 0x151723e5
xor edx, 0xb40769b4
xor eax, 0xdca76215
or ecx, edi
or eax, edx
or eax, ecx
jne 0x494847
push 0x40
mov edi, dword [esi + 0xc]
push edi
lea eax, [esi + 0x298]
push eax
call fcn.005282a0
add esp, 0xc
mov ecx, edi
push 8
pop edx
call fcn.00421070
mov eax, dword [esi + 0x298]
xor eax, 3
or eax, dword [esi + 0x29c]
je 0x494869
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov dword [esi + 0x1038], 0xd
mov byte [esi + 0x1b], cl
mov byte [esi + 0x1d], cl
mov dword [esi + 0xa0], eax
mov al, 1
mov byte [esi + 0x1c], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x298]
push eax
call fcn.004519d6
pop eax
jmp 0x494869
cmp ecx, ebx
jbe 0x494d7a
mov cl, byte [edx + eax + 4]
add eax, 5
mov dword [esi + 0x58], eax
cmp cl, 0xa
jne 0x494f7b
lea ecx, [esi + 0x50]
call fcn.0044edf2
mov dword [esi + 0x38], 0
mov edi, 0x5b9d00
movzx eax, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dword [esi + 0xb4], edi
mov dword [esi + 0xc], 0
mov dword [esi + 0x20], 0
imul eax, eax, 0x64
imul ecx, ecx, 0xa
add ecx, eax
movzx eax, byte [esi + 0x30]
add eax, ecx
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 4]
sub eax, dword [esi + 0x54]
mov dword [esi + 4], eax
xor eax, eax
mov dword [esi + 0xbc], eax
shl eax, 4
lea eax, [esi + eax + 0x298]
mov dword [esi + 0xe4], eax
mov ecx, dword [esi + 0x54]
mov eax, dword [esi + 0x58]
cmp ecx, eax
mov dword [esi + 0x14], eax
mov dword [esi + 8], ecx
jbe 0x494d7a
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x30], eax
movzx eax, byte [eax + ecx]
lea edi, [ecx + 1]
mov dword [esi + 0x58], edi
cmp eax, 0xa
je 0x494c28
cmp eax, 0xd
je 0x494c31
cmp byte [eax + 0x5862ac], 0
je 0x494395
mov edi, ecx
mov eax, dword [esi + 0x30]
not edi
add edi, dword [esi + 8]
lea eax, [eax + ecx + 2]
mov ebx, dword [esi + 0x14]
mov ecx, eax
lea eax, [ebx + 1]
cmp dword [esi + 8], eax
mov dword [esi + 0x14], eax
jbe 0x494d7a
mov eax, dword [esi + 0x30]
dec edi
movzx edx, byte [eax + ebx + 1]
lea eax, [ecx + 1]
cmp byte [edx + 0x5862ac], 0
jne 0x494287
mov eax, dword [esi + 8]
lea edi, [ebx + 2]
and dword [esi + 0x58], 0
mov dword [esi + 0xa8], edi
add dword [esi + 0x20], edi
sub eax, edi
mov edi, dword [esi + 0x30]
cmp dl, 0x3a
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0xa8]
lea edi, [edi + eax]
mov eax, dword [esi + 0x44]
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], eax
jne 0x4943d1
mov eax, dword [esi + 0x20]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x50]
mov ebx, dword [esi + 0x54]
mov edi, dword [esi + 0x58]
mov dword [esi + 8], eax
cmp ebx, edi
jbe 0x494d7a
mov eax, dword [esi + 8]
lea ecx, [edi + 1]
mov edx, edi
movzx eax, byte [eax + edi]
mov edi, ecx
mov dword [esi + 0x58], ecx
cmp eax, 0x20
je 0x494385
cmp eax, 9
je 0x494385
cmp byte [eax + 0x574a44], 0
jne 0x494437
cmp eax, 0xa
je 0x494355
cmp eax, 0xd
jne 0x4946ba
cmp ebx, edi
jbe 0x494d7a
mov eax, dword [esi + 8]
mov edi, edx
add edi, 2
mov al, byte [eax + edx + 1]
mov dword [esi + 0x58], edi
cmp al, 0xa
jne 0x494d53
cmp byte [esi + 0x42], 0
je 0x49476a
lea ecx, [esi + 0x50]
call fcn.0044ee16
test al, 1
je 0x494d7a
cmp dl, 9
je 0x4942f8
movzx eax, dl
cmp eax, 0x20
je 0x4942f8
jmp 0x49476a
lea ecx, [esi + 0x50]
call fcn.0044edf2
add dword [esi + 0x44], edi
jmp 0x4942ec
cmp byte [esi + 0x36], 0
je 0x494ba2
test al, al
je 0x494ba2
movzx eax, al
cmp eax, 0xa
je 0x494661
cmp eax, 0xd
je 0x494646
cmp dword [esi + 8], edi
jbe 0x494d7a
mov eax, dword [esi + 0x30]
mov al, byte [eax + edi]
inc edi
mov dword [esi + 0x58], edi
jmp 0x49439f
cmp byte [esi + 0xb9], 0
mov dword [esi + 0xa8], edi
je 0x494671
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x14]
sub ebx, dword [esi + 8]
add eax, edi
mov dword [esi + 8], eax
xor eax, eax
inc eax
mov edi, eax
cmp dl, 0x20
je 0x494408
movzx eax, dl
cmp eax, 9
jne 0x494675
lea eax, [ebx + edi]
cmp eax, 0xffffffff
je 0x494d7a
mov eax, dword [esi + 8]
mov dl, byte [eax + edi]
lea eax, [edi + 1]
mov dword [esi + 0x58], edi
cmp dl, 0x3a
jne 0x4943f5
lea ecx, [esi + 0x50]
call fcn.0044edf2
mov eax, dword [esi + 0x20]
add eax, edi
jmp 0x4942e9
mov ecx, dword [0x5dd828]
test ecx, ecx
jne 0x494470
mov eax, dword [0x5dd918]
test eax, eax
jne 0x494459
mov dword [esi + 0x1038], 1
call fcn.0053a0d0
xor ecx, ecx
bt eax, 0xb
mov eax, 0xffffffff
jae 0x49446b
xor ecx, ecx
inc ecx
mov eax, ecx
mov dword [0x5dd828], eax
cmp ecx, 1
jne 0x4944a3
mov dword [esi + 0x1038], 1
lea ecx, [esi + 0x50]
call fcn.0044ee43
cmp edx, 0x10
jb 0x4944a3
lea ecx, [esi + 0x50]
call fcn.0044ee43
mov ecx, eax
call fcn.0044ee62
add dword [esi + 0x58], eax
cmp eax, 0x10
je 0x49447f
mov edi, dword [esi + 0x50]
mov ebx, dword [esi + 0x54]
mov ecx, dword [esi + 0x58]
mov dword [esi + 8], edi
cmp ecx, 0xfffffff7
mov eax, ecx
ja 0x494570
lea ecx, [eax + 8]
cmp ecx, ebx
ja 0x494570
movq xmm0, qword [edi + eax]
mov dword [esi + 0x20], eax
movdqa xmmword [esi + 0x240], xmm0
movzx eax, byte [esi + 0x240]
cmp byte [eax + 0x574a44], 0
je 0x494591
movd edx, xmm0
mov edi, ebx
mov eax, edx
shr eax, 8
movzx ebx, al
cmp byte [ebx + 0x574a44], 0
je 0x494597
mov eax, edx
shr eax, 0x10
movzx ebx, al
cmp byte [ebx + 0x574a44], 0
je 0x49459f
shr edx, 0x18
mov ebx, edi
cmp byte [edx + 0x574a44], 0
je 0x4945ae
pextrw eax, xmm0, 2
movzx edx, al
cmp byte [edx + 0x574a44], 0
je 0x4945b8
shr eax, 8
cmp byte [eax + 0x574a44], 0
je 0x4945c0
pextrw eax, xmm0, 3
movzx edx, al
cmp byte [edx + 0x574a44], 0
je 0x4945c8
shr eax, 8
cmp byte [eax + 0x574a44], 0
je 0x4945ce
mov edi, dword [esi + 8]
mov dword [esi + 0x58], ecx
jmp 0x4944af
cmp ebx, eax
jbe 0x494d7a
mov ecx, eax
movzx eax, byte [edi + eax]
inc ecx
mov dword [esi + 0x58], ecx
cmp byte [eax + 0x574a44], 0
jne 0x4944af
jmp 0x4945d4
mov ecx, dword [esi + 0x20]
inc ecx
jmp 0x4945ce
mov ecx, dword [esi + 0x20]
add ecx, 2
jmp 0x4945a5
mov ecx, dword [esi + 0x20]
add ecx, 3
mov edx, dword [esi + 8]
mov ebx, edi
mov edi, edx
jmp 0x4945d1
mov ecx, dword [esi + 0x20]
mov eax, edx
add ecx, 4
jmp 0x4945ce
mov ecx, dword [esi + 0x20]
add ecx, 5
jmp 0x4945ce
mov ecx, dword [esi + 0x20]
add ecx, 6
jmp 0x4945ce
mov ecx, dword [esi + 0x20]
add ecx, 7
mov edi, dword [esi + 8]
mov dword [esi + 0x58], ecx
cmp al, 0xa
mov dword [esi + 0x20], ecx
je 0x494609
movzx ecx, al
cmp ecx, 0xd
jne 0x49471e
cmp ebx, dword [esi + 0x20]
jbe 0x494d7a
mov ecx, dword [esi + 0x20]
mov al, byte [edi + ecx]
inc ecx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x58], ecx
cmp al, 0xa
push 0xfffffffffffffffe
pop eax
je 0x49460c
jmp 0x494d53
xor eax, eax
dec eax
cmp byte [esi + 0x42], 0
mov dword [esi + 0xa8], eax
je 0x494827
lea ecx, [esi + 0x50]
call fcn.0044ee16
test al, 1
je 0x494d7a
cmp dl, 9
je 0x494437
movzx eax, dl
cmp eax, 0x20
je 0x494437
jmp 0x494827
cmp dword [esi + 8], edi
jbe 0x494d7a
mov eax, dword [esi + 0x30]
mov al, byte [eax + edi]
inc edi
mov dword [esi + 0x58], edi
cmp al, 0xa
jne 0x494ba2
add dword [esi + 0x20], edi
lea ecx, [esi + 0x50]
call fcn.0044edf2
jmp 0x494233
xor edi, edi
jmp 0x494676
dec edi
cmp byte [esi + 0x36], 0
je 0x494ba2
add ecx, edi
test dl, dl
je 0x494ba2
movzx eax, dl
cmp eax, 0xa
je 0x494661
cmp eax, 0xd
je 0x4946a9
cmp dword [esi + 0x44], edi
jbe 0x494d7a
mov dl, byte [ecx]
inc edi
inc ecx
mov dword [esi + 0x58], edi
jmp 0x494682
cmp dword [esi + 0x44], edi
jbe 0x494d7a
mov eax, dword [esi + 0xa8]
jmp 0x494652
cmp byte [esi + 0x36], 0
je 0x494d53
test al, al
je 0x494d53
movzx eax, al
cmp eax, 0xa
je 0x49470b
cmp eax, 0xd
je 0x4946f1
cmp ebx, edi
jbe 0x494d7a
mov eax, dword [esi + 8]
mov ecx, edi
inc ecx
mov al, byte [eax + edi]
mov edi, ecx
mov dword [esi + 0x58], ecx
jmp 0x4946c4
cmp ebx, edi
jbe 0x494d7a
mov eax, dword [esi + 8]
mov al, byte [eax + edi]
inc edi
mov dword [esi + 0x58], edi
cmp al, 0xa
jne 0x494d53
lea ecx, [esi + 0x50]
call fcn.0044edf2
add edi, dword [esi + 0x44]
mov dword [esi + 0x20], edi
jmp 0x494233
cmp byte [esi + 0x36], 0
je 0x494d53
test al, al
je 0x494d53
movzx eax, al
cmp eax, 0xa
je 0x494755
cmp eax, 0xd
je 0x49475a
cmp ebx, dword [esi + 0x20]
jbe 0x494d7a
mov ecx, dword [esi + 0x20]
mov al, byte [edi + ecx]
inc ecx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x58], ecx
jmp 0x494728
mov edi, dword [esi + 0x20]
jmp 0x49470b
cmp ebx, dword [esi + 0x20]
jbe 0x494d7a
mov eax, edi
mov edi, dword [esi + 0x20]
jmp 0x4946fc
lea ecx, [esi + 0x50]
mov dword [esi + 8], edi
call fcn.0044edf2
mov dword [esi + 0x1038], 1
mov ecx, eax
push 0x574b44
push 0
call fcn.0044ee2d
pop ecx
pop edi
mov ecx, dword [esi + 8]
mov edi, eax
mov dword [esi + 0x20], ecx
mov eax, dword [esi + 0xbc]
cmp eax, 0x64
je 0x495243
mov ecx, dword [esi + 0x44]
inc eax
mov dword [esi + 0xa8], edx
mov dword [esi + 0xbc], eax
add dword [esi + 0x20], ecx
test edx, edx
je 0x4947fc
movzx ecx, byte [edi + edx - 1]
mov eax, edx
add ecx, 0xfffffff7
cmp ecx, 0x17
ja 0x4947d9
mov ebx, 0x800013
lea edx, [eax - 1]
bt ebx, ecx
jb 0x4947b9
mov edx, dword [esi + 0xa8]
mov dword [esi + 0x1038], 1
mov ecx, edi
push 0x574b54
push eax
call fcn.0044ee2d
pop ecx
pop edi
mov edi, eax
jmp 0x494802
mov edx, dword [esi + 0xa8]
mov eax, dword [esi + 0xe4]
mov ecx, dword [esi + 0x30]
mov ebx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0xbc]
jmp 0x49421d
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0xa8]
and dword [esi + 0x58], 0
mov eax, edi
add eax, ecx
sub ebx, ecx
add edx, ecx
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ebx
jmp 0x494797
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
mov byte [esi + 0x1a], 0
mov dword [esi + 0x1038], 0x13
mov dword [esi + 0x9c], eax
call fcn.00404402
mov edi, dword [esi + 0xb0]
mov ecx, dword [esi + 0x14]
xor eax, eax
mov bl, 1
mov edx, dword [esi + 0x140]
mov dword [esi + 8], eax
mov dword [esi + 0x14], ecx
test edx, edx
mov dword [esi + 0x30], edx
je 0x494a6c
movsd xmm0, qword [esi + 0x140]
movsd xmm1, qword [esi + 0x148]
test ecx, ecx
movsd qword [esi + 0x218], xmm1
movsd qword [esi + 0x210], xmm0
jne 0x4948fd
mov dword [esi + 0x1038], 0x12
push 0x10
pop ecx
push 4
pop edx
call fcn.004eca76
movsd xmm0, qword [0x591408]
movsd xmm1, qword [0x591400]
xor ecx, ecx
mov dword [esi + 0x14], eax
movsd qword [eax + 8], xmm0
movsd qword [eax], xmm1
mov dword [esi + 0xa4], eax
mov byte [esi + 0x1f], 1
mov dword [esi + 0x1038], 0xf
call fcn.0044f970
movsd xmm0, qword [esi + 0x210]
movsd xmm1, qword [esi + 0x218]
mov dword [esi + 0x1038], 0x11
movsd qword [esi + 0x2a0], xmm1
movsd qword [esi + 0x298], xmm0
push 0x10
pop ecx
push 4
pop edx
call fcn.004eca76
movsd xmm0, qword [esi + 0x298]
movsd xmm1, qword [esi + 0x2a0]
mov ecx, dword [esi + 0x14]
mov edx, 0x44f92fb6
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esi + 0xa4], ecx
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1038], 0xf
push 0x574e94
push eax
push 0x82492225
push 0xcceb391c
push 0xbbb0bfac
call fcn.00449285
add esp, 0x14
test eax, eax
je 0x494a64
mov dword [esi + 0x1038], 0x10
mov dword [esi + 0xc], eax
push eax
lea eax, [esi + 0x1f0]
push eax
mov dword [esi + 0x38], edx
call dword [edx + 0xc]
add esp, 8
mov eax, dword [esi + 0x1fc]
mov ecx, dword [esi + 0x1f8]
mov edi, dword [esi + 0x1f0]
mov edx, dword [esi + 0x1f4]
xor edi, 0x44f92fb6
xor ecx, 0xcceb391c
xor edx, 0xbbb0bfac
xor eax, 0x82492225
or ecx, edi
or eax, edx
or eax, ecx
jne 0x494a42
mov ecx, dword [esi + 0xc]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [esi + 0x2a0], xmm1
movsd qword [esi + 0x298], xmm0
push 4
pop edx
call fcn.00421070
cmp dword [esi + 0x298], 0
je 0x494a64
mov eax, dword [esi + 0x14]
mov byte [esi + 0x1e], 1
mov dword [esi + 0x1038], 0xd
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 8]
mov byte [esi + 0x1b], al
xor eax, eax
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
lea eax, [esi + 0x298]
push eax
call fcn.0043a2c1
pop eax
jmp 0x494a64
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x38]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x1038], 0xf
mov dword [esi + 0xa4], eax
call fcn.00404402
mov edi, dword [esi + 0xb0]
xor ebx, ebx
push 0x40
lea eax, [esi + 0x150]
push eax
lea eax, [esi + 0x298]
push eax
call fcn.005282a0
add esp, 0xc
mov ecx, dword [esi + 0x10c]
mov eax, dword [esi + 0xe0]
mov edx, dword [esi + 0x14]
mov dword [esi + 0xc], ebx
cmp cx, 0x64
mov byte [esi + 0x2de], al
mov word [esi + 0x2dc], cx
mov dword [esi + 0x2d8], edx
je 0x494ade
movzx eax, cx
cmp eax, 0x65
je 0x494feb
cmp eax, 0xcc
je 0x49500d
cmp eax, 0x130
je 0x49500d
lea eax, [ecx - 0x66]
cmp ax, 0x62
jae 0x494fc0
cmp dword [edi + 0xe4], 0
mov dword [esi + 0x1038], 0xd
je 0x494f82
mov eax, dword [esi + 8]
lea ecx, [esi + 0x298]
mov dword [esi + 0xa0], edx
mov byte [esi + 0x1c], bl
mov byte [esi + 0x1d], 1
mov byte [esi + 0x1e], 0
mov byte [esi + 0x1b], al
call fcn.004568ad
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
or dword [esi + 4], eax
jne 0x494b4d
mov eax, dword [esi + 0x50]
xor eax, 3
or eax, dword [esi + 0x54]
je 0x494b4d
lea eax, [esi + 0x50]
mov byte [esi + 0x2a], cl
mov byte [esi + 0x2b], 0
mov dword [esi + 0x1038], 5
push eax
call fcn.004519d6
mov ecx, dword [esi + 0xc]
add esp, 4
lea eax, [esi + 0x1b0]
mov byte [esi + 0x28], cl
mov byte [esi + 0x29], 0
mov dword [esi + 0x1038], 3
push eax
call fcn.0043a2c1
pop eax
cmp dword [esi + 0x30], 0
jne 0x494b91
cmp dword [esi + 0x140], 0
je 0x494b91
lea eax, [esi + 0x140]
mov dword [esi + 0x1038], 1
push eax
call fcn.0043a2c1
pop eax
mov eax, dword [esi + 0xb0]
mov ecx, dword [eax + 0xe4]
jmp 0x492f1e
mov eax, dword [esi + 0x24]
and eax, 0xffffff00
mov dword [esi + 0x24], eax
jmp 0x493260
cmp dword [esi + 0xc], edx
jbe 0x494d7a
cmp byte [edi + edx], 0xa
jne 0x494f7b
mov ebx, dword [esi + 0x38]
mov eax, dword [esi + 0xc]
and dword [esi + 0x58], 0
lea edx, [ebx + 2]
sub eax, edx
lea edx, [edi + ebx + 2]
test cl, 1
mov ecx, 0
mov dword [esi + 0x50], edx
mov edx, 0x5b9d00
cmovne ebx, ecx
mov dword [esi + 0x54], eax
cmovne edi, edx
mov dword [esi + 0x38], ebx
jmp 0x4941e2
mov eax, dword [esi + 0xc]
and dword [esi + 0x58], 0
sub eax, edx
add edx, edi
test cl, 1
mov dword [esi + 0x50], edx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x54], eax
mov eax, 0x5b9d00
cmovne edi, eax
mov eax, 0
cmovne edx, eax
mov dword [esi + 0x38], edx
jmp 0x4941e2
add edi, dword [esi + 0x20]
mov eax, edi
mov ecx, edi
jmp 0x494c57
cmp dword [esi + 8], edi
jbe 0x494d7a
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x14]
mov al, byte [eax + ecx + 1]
add ecx, 2
mov dword [esi + 0x58], ecx
cmp al, 0xa
jne 0x494d63
add ecx, dword [esi + 0x20]
mov eax, ecx
and eax, 0xffffff00
movzx ecx, cl
mov ebx, dword [esi + 0xb4]
or ecx, eax
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x10c]
lea eax, [ecx - 0x3e8]
cmp ax, 0xfc7c
jb 0x49524e
call fcn.0044d7c8
test eax, eax
je 0x494ca3
mov edi, edx
mov edx, dword [esi + 0x38]
mov ecx, ebx
push edi
push eax
call fcn.004a7807
pop ecx
pop edx
test al, al
je 0x494ca3
and dword [esi + 0x50], 0
jmp 0x494cbb
mov dword [esi + 0x1038], 1
lea ecx, [esi + 0x50]
mov edx, ebx
push dword [esi + 0x38]
call fcn.00422f83
pop eax
mov edi, dword [esi + 4]
mov eax, dword [esi + 0xc]
xor ecx, ecx
add edi, dword [esi + 0x24]
shl eax, 4
mov dword [esi + 4], eax
cmp dword [esi + 4], ecx
je 0x494d29
mov edx, dword [esi + ecx + 0x29c]
cmp edx, 0xffff
ja 0x4950ec
mov ebx, edi
mov edi, dword [esi + ecx + 0x298]
mov eax, dword [esi + 0x10]
sub edi, eax
add edx, edi
mov dword [esi + ecx + 0x9e8], edi
mov edi, dword [esi + ecx + 0x2a0]
mov dword [esi + ecx + 0x9ec], edx
sub edi, eax
mov eax, dword [esi + ecx + 0x2a4]
mov dword [esi + ecx + 0x9f0], edi
add eax, edi
mov edi, ebx
mov dword [esi + ecx + 0x9f4], eax
add ecx, 0x10
jmp 0x494ccc
lea ecx, [esi + 0x54]
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1038], 2
movq xmm0, qword [ecx]
mov ecx, dword [ecx + 8]
movq qword [esi + 0x150], xmm0
mov dword [esi + 0x158], ecx
jmp 0x493294
mov eax, dword [esi + 0x24]
and eax, 0xffffff00
or eax, 1
jmp 0x494baa
mov eax, dword [esi + 0x24]
and eax, 0xffffff00
or eax, 2
jmp 0x494baa
xor eax, eax
jmp 0x494e23
xor edx, edx
push 3
pop eax
lea ecx, [esi + 0x1c8]
jmp 0x494da1
push 2
pop eax
movsx eax, al
lea ecx, [esi + 0x1c8]
xor edx, edx
mov al, byte [eax + 0x5bb444]
mov dword [esi + 0x3c], eax
push 4
pop eax
mov dword [esi + 0x10], eax
and dword [esi + 0x1038], 0
mov dword [esi + 4], edx
call fcn.00473f9e
or dword [esi + 0x1038], 0xffffffff
lea ecx, [esi + 0x1c8]
call fcn.0043df64
mov eax, dword [esi + 0x10]
movzx edi, byte [esi + 0x3c]
mov ebx, dword [esi + 0xb0]
xor eax, 4
or eax, dword [esi + 4]
je 0x49527f
push 0x3c
lea eax, [esi + 0x970]
push eax
lea eax, [esi + 0x9ac]
push eax
call fcn.005282a0
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x1c3]
mov dl, byte [esi + 0x1c7]
xor ecx, 3
mov dword [esi + 0x128], eax
mov byte [esi + 0x12c], dl
or ecx, dword [esi + 4]
jne 0x49528c
mov eax, dword [ebx + 0xe4]
xor ecx, ecx
cmp byte [ebx + 0xc8], 0
sete cl
cmp eax, dword [ebx + ecx*4 + 0xcc]
jae 0x495257
mov edx, dword [esi + 0x1ac]
lea ecx, [esi + 0x298]
push dword [ebp + 8]
call fcn.0049124b
pop eax
cmp byte [esi + 0x298], 5
je 0x49525e
mov ecx, dword [esi + 0x29c]
mov eax, dword [esi + 0x298]
lea edx, [esi + 0x1e8]
mov dword [esi + 0x1ec], ecx
lea ecx, [esi + 0x9e8]
mov dword [esi + 0x1e8], eax
call fcn.00492e1c
cmp dword [esi + 0x9e8], 0
jne 0x495268
cmp dword [esi + 0x9ec], 0
jne 0x492eff
jmp 0x495278
lea ecx, [esi + 0x110]
call fcn.0042343a
mov al, 0xb
mov cl, 1
mov dword [esi + 4], 0
mov dword [esi + 0x3c], eax
push 4
pop eax
mov dword [esi + 0x10], eax
mov dl, 1
mov al, 1
test cl, cl
mov dword [esi + 0xc], edx
je 0x494efa
mov ecx, dword [esi + 0x50]
xor ecx, 3
or ecx, dword [esi + 0x54]
je 0x494efa
mov byte [esi + 0x2b], al
lea eax, [esi + 0x50]
mov byte [esi + 0x2a], dl
mov dword [esi + 0x1038], 5
push eax
call fcn.004519d6
mov edx, dword [esi + 0xc]
add esp, 4
mov eax, dword [esi + 0xe4]
cmp dword [esi + 0x44], eax
je 0x494f20
lea ecx, [esi + 0x150]
mov byte [esi + 0x37], dl
mov dword [esi + 0x1038], 4
call fcn.0044f8fa
mov edx, dword [esi + 0xc]
lea eax, [esi + 0x1b0]
mov byte [esi + 0x28], dl
mov byte [esi + 0x29], 0
mov dword [esi + 0x1038], 3
push eax
call fcn.0043a2c1
pop eax
cmp byte [esi + 0xc], 0
je 0x494f64
cmp dword [esi + 0x140], 0
je 0x494f64
lea eax, [esi + 0x140]
mov dword [esi + 0x1038], 1
push eax
call fcn.0043a2c1
pop eax
and dword [esi + 0x1038], 0
lea ecx, [esi + 0x1c8]
call fcn.00473f9e
jmp 0x494db3
push 3
jmp 0x494d89
mov dword [esi + 4], 0
push 3
pop eax
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
lea ecx, [esi + 0x298]
mov dword [esi + 0xa0], edx
mov byte [esi + 0x1b], al
mov byte [esi + 0x1c], bl
mov byte [esi + 0x1d], 1
mov byte [esi + 0x1e], 0
mov dword [esi + 0x1038], 0xd
call fcn.004568ad
jmp 0x49508a
movzx eax, byte [edi + 0x78]
cmp eax, 0xb
je 0x495097
cmp eax, 5
je 0x49500d
cmp eax, 7
jne 0x495097
add ecx, 0xffffff38
cmp cx, 0x64
jae 0x495097
mov al, 1
mov dword [esi + 0xac], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x48], eax
jmp 0x49502d
mov al, 1
mov dword [esi + 0xac], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x3c], eax
mov dword [esi + 0x48], 0
mov eax, dword [esi + 0x298]
movzx ecx, word [esi + 0x2a1]
mov bl, byte [esi + 0x2a0]
mov dword [esi + 0x10], eax
movzx eax, byte [esi + 0x2a3]
shl eax, 0x10
or ecx, eax
mov eax, dword [esi + 0x29c]
mov dword [esi + 0x98], ecx
mov dword [esi + 4], eax
push 0x3c
lea eax, [esi + 0x2a4]
push eax
lea eax, [esi + 0x970]
push eax
call fcn.005282a0
add esp, 0xc
mov al, byte [esi + 0xb4]
and al, byte [esi + 0x3c]
mov byte [esi + 0xb8], al
mov eax, ebx
mov dword [esi + 0x3c], eax
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor eax, eax
jmp 0x494ec9
and dword [esi + 0xcc], 0
and dword [esi + 0xc8], 0
and dword [esi + 0xc0], 0
lea ecx, [esi + 0x298]
lea edx, [esi + 0xc0]
mov dword [esi + 0xc4], 0x45
mov dword [esi + 0x1038], 0xe
call fcn.0043b558
test al, al
je 0x49510c
cmp byte [esi + 0x2de], 1
jne 0x49515b
mov al, 2
mov dword [esi + 4], 0
jmp 0x495218
lea ecx, [esi + 0x50]
mov dword [esi + 0x1038], 1
call fcn.0043c06a
xor edx, edx
mov al, 9
mov dword [esi + 0x3c], eax
push 4
jmp 0x494d7e
lea ecx, [esi + 0x230]
lea edx, [esi + 0x298]
call fcn.00455dd4
cmp dword [esi + 0x230], 1
jne 0x4951d4
mov eax, dword [esi + 0x23c]
mov ecx, dword [esi + 0x238]
mov dword [esi + 4], 0
cmp ecx, 0xfffffffe
mov edx, eax
sbb edx, 0xffffffff
jae 0x495216
mov dl, 1
mov dword [esi + 0xac], ecx
mov dword [esi + 0x3c], edx
jmp 0x495238
and dword [esi + 0xcc], 0
and dword [esi + 0xc8], 0
and dword [esi + 0xc0], 0
lea eax, [esi + 0xc0]
mov dword [esi + 0xc4], 0x45
lea ecx, [esi + 0xe8]
lea edx, [esi + 0x298]
push eax
call fcn.00453837
pop eax
lea ecx, [esi + 0xc0]
lea edx, [esi + 0xe8]
call fcn.004549c4
lea ecx, [esi + 0xc0]
call fcn.004567d0
movzx eax, al
mov dword [esi + 0x48], 0
not eax
mov dword [esi + 0xac], eax
mov al, 1
mov dword [esi + 0x3c], eax
xor eax, eax
dec eax
mov dword [esi + 0x94], eax
jmp 0x49502d
and dword [esi + 0xcc], 0
and dword [esi + 0xc8], 0
and dword [esi + 0xc0], 0
lea ecx, [esi + 0x298]
lea edx, [esi + 0xc0]
mov dword [esi + 0xc4], 0x18
call fcn.0043b558
mov cl, 1
test al, al
mov dword [esi + 0x3c], ecx
je 0x49522f
mov dword [esi + 4], 0
jmp 0x49521b
mov al, 9
mov dword [esi + 0x3c], eax
push 4
pop eax
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x14]
jmp 0x494f92
xor eax, eax
dec eax
mov dword [esi + 0xac], eax
mov dword [esi + 0x94], eax
jmp 0x495026
push 5
pop eax
mov dword [esi + 0x24], eax
jmp 0x494d8a
xor edx, edx
mov al, 0xa
jmp 0x495102
push 9
pop edx
xor ecx, ecx
jmp 0x495283
xor ecx, ecx
push 4
pop edx
mov dword [esi + 0x48], eax
jmp 0x4952cf
mov edi, dword [esi + 0x9ec]
xor ecx, ecx
push 3
pop edx
mov dword [esi + 0x48], eax
jmp 0x4952cf
call fcn.004557b5
jmp 0x495288
xor ecx, ecx
mov edx, edi
call fcn.004509c2
mov edi, eax
jmp 0x4952fa
mov eax, dword [esi + 0x98]
shl eax, 8
or eax, edi
mov edi, eax
lea eax, [esi + 0x934]
push 0x3c
lea ecx, [esi + 0x9ac]
push ecx
push eax
call fcn.005282a0
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 4]
add esp, 0xc
mov eax, dword [esi + 0x128]
mov dword [esi + 0x120], eax
mov ah, byte [esi + 0x12c]
mov byte [esi + 0x124], ah
mov eax, edx
xor eax, 3
or eax, ecx
je 0x4952fa
mov eax, edx
xor eax, 4
or eax, ecx
jne 0x495366
mov eax, dword [esi + 0xdc]
and dword [eax + 4], 0
mov dword [eax], 5
jmp 0x4955ec
mov cl, byte [ebx + 0x9a]
and dword [ebx + 0x44], 0
mov dword [ebx + 0x40], 4
mov byte [ebx + 0x9a], 2
mov dword [esi + 0x150], edi
mov dword [esi + 0x98], edi
mov eax, dword [ebx + 0xe4]
test eax, eax
je 0x495498
mov byte [esi + 4], cl
mov ecx, dword [esi + 0xd8]
xor edx, edx
mov ecx, dword [ecx]
cmp eax, edx
je 0x495352
movzx edi, byte [ecx + edx]
cmp edi, 0xd
je 0x49534f
cmp edi, 0xa
jne 0x495465
inc edx
jmp 0x495339
mov edx, eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x1038], 0x19
jmp 0x49547a
mov dword [esi + 0x98], edi
lea edi, [esi + 0x8e4]
lea eax, [esi + 0x934]
push 0x3c
push eax
push edi
mov dword [esi + 4], ecx
mov dword [esi + 0x10], edx
call fcn.005282a0
add esp, 0xc
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0xac]
mov ecx, dword [esi + 0x48]
mov dword [edi + 0x40], eax
xor eax, eax
mov dword [edi + 0x3c], edx
mov byte [edi + 0x44], al
mov al, byte [esi + 0xb8]
mov byte [edi + 0x45], al
mov byte [edi + 0x46], cl
mov ecx, dword [esi + 0x120]
mov dword [edi + 0x47], ecx
mov cl, byte [esi + 0x124]
mov byte [edi + 0x4b], cl
mov ecx, eax
mov eax, dword [esi + 4]
mov dword [edi - 8], eax
mov eax, dword [esi + 0x10]
mov dword [edi - 0xc], eax
mov eax, dword [esi + 0x98]
mov dword [edi - 4], eax
xor eax, eax
mov byte [ebx + 0x98], al
cmp byte [ebx + 0x9a], 2
jne 0x4953ee
test cl, cl
jne 0x4953fb
xor eax, eax
cmp cl, 1
adc al, 1
mov byte [ebx + 0x9a], al
mov edi, dword [esi + 0x94]
cmp byte [esi + 0x48], 0
mov ecx, edx
mov eax, edx
mov edx, edi
setne byte [esi + 4]
xor ecx, 0xfffffffe
not edx
or edx, ecx
mov dl, byte [esi + 0x91e]
mov byte [ebx + 0x9b], dl
je 0x49559c
mov edx, eax
and eax, edi
cmp eax, 0xffffffff
je 0x495598
mov eax, edx
xor ecx, ecx
or eax, edi
jne 0x4955a2
mov edx, dword [ebp + 8]
and dword [ebx + 0x44], 0
mov ecx, ebx
mov dword [ebx + 0x40], 3
mov dword [esi + 0x1038], 0x1b
call fcn.00491070
jmp 0x4955ba
cmp eax, edx
mov dword [esi + 0x50], edx
mov dword [esi + 0x1038], 0x19
jb 0x4956d4
mov ecx, dword [esi + 0xd8]
mov byte [esi + 0x2f], 1
call fcn.004233ee
mov edi, dword [esi + 0x98]
mov ebx, dword [esi + 0xb0]
mov cl, byte [esi + 4]
cmp byte [edi + 0x18], 0
je 0x4954e6
test cl, cl
jne 0x4954e6
cmp dword [ebx + 0xe4], 0
jne 0x4954e6
mov eax, dword [esi + 0xdc]
and dword [ebx + 0x5c], 0
or dword [esi + 0x1038], 0xffffffff
mov dword [ebx + 0x58], 5
mov byte [ebx + 0x9a], 2
and dword [eax + 4], 0
mov dword [eax], 4
lea eax, [esi + 0x150]
push eax
call fcn.0046c082
pop eax
jmp 0x4955ec
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x5c]
add eax, 0xfffffffe
adc ecx, 0xffffffff
xor edx, edx
push 3
pop edi
cmp edi, eax
mov edi, dword [esi + 0x98]
sbb edx, ecx
mov dword [esi + 0x298], edi
jb 0x495583
test eax, eax
jne 0x495583
mov edx, dword [ebx + 0xe4]
cmp edx, 0x18
jb 0x495583
mov eax, dword [esi + 0xd8]
mov dword [esi + 0x1038], 0x1a
mov ecx, dword [eax]
push 0x58ab48
push 0x18
call fcn.004646c5
pop ecx
pop edi
mov ecx, eax
push 0x18
push 0x58a3e2
call fcn.0045817a
pop ecx
pop edx
mov edi, dword [esi + 0x98]
test al, al
je 0x495583
push 5
pop edx
xor ecx, ecx
call fcn.004509c2
mov dword [esi + 0x98], eax
lea eax, [esi + 0x298]
mov byte [esi + 0x2f], 0
mov dword [esi + 0x1038], 0x19
push eax
call fcn.0046c082
pop eax
mov edi, dword [esi + 0x98]
mov eax, dword [esi + 0xdc]
and dword [eax + 4], 0
mov dword [eax], 3
mov dword [eax + 8], edi
jmp 0x4955ec
mov cl, 2
jmp 0x4955a2
mov cl, 1
xor edx, edx
xor edi, edi
mov byte [ebx + 0x48], cl
mov byte [ebx + 0x49], 0
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x54], edi
and dword [ebx + 0x44], 0
mov dword [ebx + 0x40], 2
mov bl, byte [esi + 4]
lea eax, [esi + 0x8d8]
add bl, bl
push 0x48
push eax
mov edi, dword [esi + 0xdc]
push edi
call fcn.005282a0
add esp, 0xc
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0xac]
mov dword [edi + 0x4c], eax
mov dword [edi + 0x48], ecx
mov byte [edi + 0x50], bl
mov eax, dword [esi + 0x1030]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [esi + 3], 0
mov ecx, edi
push 0x574fe8
call fcn.005372f0
pop eax
jmp 0x495730
mov byte [esi + 3], 1
push 0x574fd8
call fcn.005372f0
pop eax
jmp 0x495730
mov byte [esi + 3], 0
mov ecx, edi
push 0x574ea4
call fcn.005372f0
pop eax
jmp 0x495730
mov al, 1
mov dword [esi + 0x1038], 6
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
push 0x10
pop edx
mov ecx, str.reserve_overflowX
push 0x575028
call fcn.005376f0
pop eax
jmp 0x495730
mov al, 1
mov dword [esi + 0x1038], 6
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
push 0x1d
pop edx
mov ecx, str.header_map_reserve_overflowed
push 0x57508c
call fcn.005381fc
pop eax
jmp 0x495730
mov al, 1
mov dword [esi + 0x1038], 6
mov byte [esi], al
mov byte [esi + 1], al
mov byte [esi + 2], al
push 0x24
pop edx
mov ecx, str.header_map_reserve_over_max_capacityX
push 0x57505c
call fcn.005381fc
pop eax
jmp 0x495730
mov byte [esi + 3], 1
push 4
pop ecx
mov edx, 0x120
call fcn.00536ff0
jmp 0x495730
mov dword [esi + 0x258], eax
lea eax, [esi + 0x50]
lea ecx, [esi + 0x258]
mov dword [esi + 0x9e8], eax
mov eax, 0x4672fc
mov dword [esi + 0x9ec], eax
mov dword [esi + 0x9f0], ecx
lea ecx, [esi + 0x298]
mov dword [esi + 0x9f4], eax
mov dword [ecx], str.cannot_advance_past__remaining_:___
push 2
pop eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
lea edx, [esi + 0x9e8]
mov byte [esi + 0x2f], 1
mov dword [ecx + 8], edx
mov edx, 0x594558
mov dword [ecx + 0xc], eax
call fcn.00537260
ud2