Function at 0x42dc10
Capabilities:
Check os version
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x590
mov esi, esp
mov dword [esi + 0x578], ebp
call 0x42dc2c
pop eax
mov dword [esi + 0x57c], esp
mov dword [esi + 0x588], 0xffffffff
mov dword [esi + 0x584], 0x43c6d0
mov dword [esi + 0x88], ecx
mov dword [esi + 0x34], edx
mov dword [esi + 0x5c], eax
mov eax, dword fs:[0]
mov dword [esi + 0x580], eax
lea eax, [esi + 0x580]
mov dword fs:[0], eax
movzx eax, byte [edx + 0x34]
mov ecx, dword [edx + 0x30]
test al, al
jne 0x42dc9b
test ecx, ecx
jne 0x42dc9b
mov dword [esi + 0x134], 0
mov dword [esi + 0x70], 0
mov edi, dword [edx + 0x20]
test edi, edi
jne 0x42e7bb
jmp 0x42e822
test al, al
mov dword [esi + 0x60], 0
mov dword [esi + 0x68], 0
jne 0x42deed
mov dword [esi + 0x14], ecx
call dword [0x44c0d4]
test eax, eax
je 0x431318
mov edi, eax
mov dword [esi + 0x3c], eax
nop word [eax + eax]
cmp word [edi], 0
je 0x42dede
mov ecx, edi
xor edi, edi
mov edx, 0xfffffffe
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, edi
mov eax, edx
inc edi
add edx, 2
cmp word [ecx + ebx*2], 0
jne 0x42dcf0
lea edi, [ecx + edi*2]
cmp ebx, 1
mov dword [esi + 0xc], ecx
je 0x42dcd0
test ebx, ebx
je 0x43122c
xor edx, edx
nop word cs:[eax + eax]
nop
mov ecx, dword [esi + 0xc]
cmp word [ecx + edx*2 + 2], 0x3d
je 0x42dd40
inc edx
add eax, 0xfffffffe
jne 0x42dd20
jmp 0x42dcd0
lea eax, [edx + 1]
cmp edx, ebx
mov dword [esi + 0x10], edi
mov dword [esi + 8], ebx
mov dword [esi + 0x18], edx
mov dword [esi + 0x588], 0x2b
jae 0x43124f
mov edx, dword [esi + 0xc]
lea ecx, [esi + 0x90]
push eax
call fcn.00424460
add esp, 4
mov edi, dword [esi + 0x18]
mov edx, dword [esi + 8]
add edi, 2
mov eax, edx
sub eax, edi
jb 0x431266
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x588], 0x2c
lea edx, [ecx + edi*2]
lea ecx, [esi + 0x160]
push eax
call fcn.00424460
add esp, 4
movq xmm0, qword [esi + 0x98]
mov edi, dword [esi + 0x90]
mov eax, dword [esi + 0x94]
lea edx, [esi + 0x90]
lea ecx, [esi + 0x40]
movdqa xmmword [esi + 0x560], xmm0
cmp byte [esi + 0x564], 2
je 0x42dede
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x160]
mov ebx, dword [esi + 0x168]
movdqa xmmword [esi + 0x70], xmm0
mov dword [esi + 0x90], edi
mov dword [esi + 0x588], 0x2e
mov dword [esi + 0x20], edi
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x164]
mov dword [esi + 0x24], ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x16c]
mov dword [esi + 0x1c], eax
movd eax, xmm0
add eax, edi
mov dword [esi + 0x94], eax
mov word [esi + 0x98], 0
call fcn.00432180
mov eax, dword [esi + 0x20]
movaps xmm0, xmmword [esi + 0x70]
mov byte [esi + 0x8d], 0
mov dword [esi + 0x588], 0x2d
lea ecx, [esi + 0x40]
lea edx, [esi + 0x60]
mov dword [esi + 0x16c], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x170], eax
mov eax, dword [esi + 0x48]
movlps qword [esi + 0x174], xmm0
movq xmm0, qword [esi + 0x40]
mov dword [esi + 0x168], eax
mov eax, dword [esi + 0xc]
movq qword [esi + 0x160], xmm0
mov dword [esi + 0x90], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x98], eax
lea eax, [esi + 0x90]
push eax
lea eax, [esi + 0x160]
push eax
call fcn.004323c0
add esp, 8
cmp byte [esi + 0x4c], 2
mov edi, dword [esi + 0x10]
je 0x42dcd0
cmp dword [esi + 0x44], 0
je 0x42dcd0
push dword [esi + 0x40]
push 0
push dword [0xc189c8]
call dword [0x44c008]
jmp 0x42dcd0
push dword [esi + 0x3c]
call dword [0x44c0d8]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x14]
mov eax, dword [edx + 0x28]
mov ebx, dword [edx + 0x2c]
xor edx, edx
mov dword [esi + 0x10], 0
test eax, eax
mov dword [esi + 0xc], eax
setne dl
cmove ecx, eax
jmp 0x42df1d
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 8]
mov dword [esi + 0xc], 0
test ecx, ecx
je 0x42e5f0
mov edi, dword [esi + 0x10]
test edx, edx
je 0x42df50
test edi, edi
jne 0x42df50
mov edx, 1
test ebx, ebx
je 0x42e097
mov edi, dword [esi + 0xc]
mov edi, dword [edi + 0x1ec]
dec ebx
jne 0x42df40
jmp 0x42e09a
test edx, edx
je 0x43115a
movzx eax, word [edi + 0x1ea]
cmp ebx, eax
jb 0x42df93
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x430e1f
movzx ebx, word [edi + 0x1e8]
inc dword [esi + 0xc]
mov edi, eax
cmp bx, word [eax + 0x1ea]
jae 0x42df70
mov dword [esi + 8], edx
mov edx, dword [esi + 0xc]
test edx, edx
je 0x42dfc0
mov eax, dword [edi + ebx*4 + 0x1f0]
mov dword [esi + 0x18], 0
dec edx
je 0x42dfb9
nop
mov eax, dword [eax + 0x1ec]
dec edx
jne 0x42dfb0
mov dword [esi + 0x10], eax
jmp 0x42dfc9
lea eax, [ebx + 1]
mov dword [esi + 0x10], edi
mov dword [esi + 0x18], eax
lea eax, [ebx + ebx*8]
dec ecx
mov edx, dword [esi + 8]
lea eax, [eax + eax*2]
add eax, ebx
shl ebx, 4
cmp byte [edi + ebx + 0xc], 2
lea eax, [edi + eax + 0xb4]
jne 0x42e040
mov edi, dword [esi + 0x60]
mov ebx, dword [esi + 0x18]
mov dword [esi + 0xc], 0
test edi, edi
je 0x42df1d
mov dword [esi + 0x14], ecx
mov ecx, eax
mov edx, edi
mov eax, dword [eax]
mov ebx, dword [esi + 0x64]
mov edi, dword [ecx + 8]
mov dword [esi + 0x588], 0x26
lea ecx, [esi + 0x40]
mov dword [esi + 0x70], edx
push edi
push eax
mov dword [esi + 0x20], ebx
push ebx
call fcn.004337b0
add esp, 0xc
cmp dword [esi + 0x40], 0
je 0x42e275
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 8]
mov ebx, dword [esi + 0x18]
jmp 0x42df1d
mov edx, dword [eax + 0xc]
mov dword [esi + 0x20], eax
mov eax, dword [eax + 0x14]
mov dword [esi + 0x14], ecx
test eax, eax
mov dword [esi + 0xc], eax
je 0x42e0b7
js 0x4311e8
movzx eax, byte [0xc18948]
mov eax, dword [0xc189c8]
mov dword [esi + 0x70], edx
test eax, eax
jne 0x42e07f
call dword [0x44c00c]
test eax, eax
je 0x4311a0
mov dword [0xc189c8], eax
push dword [esi + 0xc]
push 0
push eax
call dword [0x44c010]
mov edx, dword [esi + 0x70]
test eax, eax
jne 0x42e0bc
jmp 0x4311a0
mov edi, dword [esi + 0xc]
xor ebx, ebx
mov dword [esi + 0xc], 0
movzx eax, word [edi + 0x1ea]
cmp ebx, eax
jae 0x42df70
jmp 0x42df93
mov eax, 1
push dword [esi + 0xc]
push edx
mov dword [esi + 0x1c], eax
push eax
call fcn.0043d660
add esp, 0xc
mov eax, dword [esi + 0x20]
mov dword [esi + 0x20], 2
mov ecx, dword [eax]
movzx edx, byte [eax + 0x18]
mov dword [esi + 0x3c], ecx
mov ecx, dword [eax + 8]
xor eax, eax
mov byte [esi + 0x70], dl
test ecx, ecx
mov dword [esi + 0x24], ecx
je 0x42e147
cmp ecx, 0x3fffffff
ja 0x4311bc
add ecx, ecx
test ecx, ecx
js 0x4311fc
je 0x42e147
movzx eax, byte [0xc18948]
mov eax, dword [0xc189c8]
mov dword [esi + 0x2c], ecx
test eax, eax
jne 0x42e12f
call dword [0x44c00c]
test eax, eax
je 0x431210
mov dword [0xc189c8], eax
mov ecx, dword [esi + 0x2c]
push ecx
push 0
push eax
call dword [0x44c010]
test eax, eax
mov dword [esi + 0x20], eax
je 0x431210
mov eax, dword [esi + 0x2c]
add edi, ebx
push eax
push dword [esi + 0x3c]
mov ebx, dword [esi + 0x20]
push ebx
call fcn.0043d660
add esp, 0xc
mov eax, dword [esi + 0x1c]
movzx edx, byte [esi + 0x70]
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x16c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x170], eax
mov dword [esi + 0x174], eax
mov byte [esi + 0x178], dl
mov dword [esi + 0x160], ebx
mov dword [esi + 0x164], ecx
mov dword [esi + 0x168], ecx
mov ecx, dword [edi + 8]
mov edx, dword [edi]
test ecx, ecx
mov dword [esi + 0x70], ecx
je 0x42e1e9
js 0x4311d0
movzx eax, byte [0xc18948]
mov eax, dword [0xc189c8]
mov ebx, edx
test eax, eax
jne 0x42e1ca
call dword [0x44c00c]
test eax, eax
je 0x431180
mov dword [0xc189c8], eax
mov ecx, dword [esi + 0x70]
push ecx
push 0
push eax
call dword [0x44c010]
test eax, eax
mov edx, ebx
mov dword [esi + 0x588], 0x28
jne 0x42e1ee
jmp 0x431180
mov eax, 1
mov ebx, dword [esi + 0x70]
mov dword [esi + 0x3c], eax
push ebx
push edx
push eax
call fcn.0043d660
add esp, 0xc
movzx eax, byte [edi + 0xc]
mov ecx, dword [esi + 0x3c]
mov byte [esi + 0x57], 0
mov dword [esi + 0x588], 0x28
lea edx, [esi + 0x60]
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], ebx
mov dword [esi + 0x98], ebx
mov byte [esi + 0x9c], al
lea eax, [esi + 0x90]
lea ecx, [esi + 0x40]
push eax
lea eax, [esi + 0x160]
push eax
call fcn.004323c0
add esp, 8
cmp byte [esi + 0x4c], 2
mov ebx, dword [esi + 0x18]
je 0x42df10
cmp dword [esi + 0x44], 0
je 0x42df10
push dword [esi + 0x40]
push 0
push dword [0xc189c8]
call dword [0x44c008]
jmp 0x42df10
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x4c]
mov byte [esi + 0x124], 0
test ecx, ecx
je 0x42e365
nop dword [eax]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
je 0x42e2ab
movzx edx, word [eax + 0x1ea]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
jne 0x42e29a
movzx ecx, word [eax + 0x1ea]
mov dword [esi + 0x110], eax
lea eax, [esi + 0x124]
mov dword [esi + 0x114], 0
mov dword [esi + 0x588], 0x26
lea edx, [esi + 0x110]
dec ecx
mov dword [esi + 0x118], ecx
lea ecx, [esi + 0x160]
push eax
call fcn.00433950
add esp, 4
movsd xmm2, qword [esi + 0x178]
movsd xmm1, qword [esi + 0x170]
mov eax, dword [esi + 0x188]
movq xmm0, qword [esi + 0x180]
mov edx, dword [esi + 0x18c]
movsd qword [esi + 0xa8], xmm2
movsd qword [esi + 0xa0], xmm1
movsd xmm2, qword [esi + 0x160]
movsd xmm1, qword [esi + 0x168]
mov dword [esi + 0xb8], eax
movq qword [esi + 0xb0], xmm0
mov eax, dword [esi + 0x194]
movsd qword [esi + 0x98], xmm1
movsd qword [esi + 0x90], xmm2
movzx ecx, word [edx + 0x1ea]
cmp eax, ecx
jae 0x42e39b
mov ecx, edx
jmp 0x42e3d3
mov dword [esi + 0x90], eax
lea eax, [esi + 0x124]
mov dword [esi + 0x94], 0
mov dword [esi + 0x98], edx
lea ecx, [esi + 0x160]
lea edx, [esi + 0x90]
push eax
call fcn.00433950
add esp, 4
jmp 0x42e4ee
mov edi, dword [esi + 0x190]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ecx, dword [edx + 0xb0]
test ecx, ecx
je 0x42e3cf
movzx eax, word [edx + 0x1e8]
inc edi
mov edx, ecx
cmp ax, word [ecx + 0x1ea]
jae 0x42e3b0
jmp 0x42e3d3
xor ecx, ecx
mov eax, edi
lea edx, [eax + eax*8]
lea edx, [edx + edx*2]
add edx, eax
shl eax, 4
mov edi, dword [ecx + edx + 0xcc]
mov dword [esi + 0xd8], edi
mov edi, dword [esi + 0xa8]
movsd xmm0, qword [ecx + edx + 0xc4]
movsd qword [esi + 0xd0], xmm0
movsd xmm0, qword [ecx + edx + 0xb4]
movsd xmm1, qword [ecx + edx + 0xbc]
movsd qword [esi + 0xc8], xmm1
movsd qword [esi + 0xc0], xmm0
mov dword [ecx + edx + 0xcc], edi
lea edi, [esi + 0xac]
movsd xmm0, qword [esi + 0xa0]
movsd qword [ecx + edx + 0xc4], xmm0
movsd xmm0, qword [esi + 0x90]
movsd xmm1, qword [esi + 0x98]
movsd qword [ecx + edx + 0xbc], xmm1
movsd qword [ecx + edx + 0xb4], xmm0
lea edx, [esi + 0xdc]
movsd xmm0, qword [ecx + eax]
movsd xmm1, qword [ecx + eax + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [ecx + eax], xmm0
movsd qword [ecx + eax + 8], xmm1
movsd xmm2, qword [esi + 0xd8]
movsd xmm1, qword [esi + 0xd0]
mov eax, dword [esi + 0xe8]
movq xmm0, qword [esi + 0xe0]
movsd qword [esi + 0x178], xmm2
movsd qword [esi + 0x170], xmm1
movsd xmm2, qword [esi + 0xc0]
movsd xmm1, qword [esi + 0xc8]
mov dword [esi + 0x188], eax
movq qword [esi + 0x180], xmm0
movsd qword [esi + 0x168], xmm1
movsd qword [esi + 0x160], xmm2
mov ecx, dword [esi + 0x164]
mov edx, dword [esi + 0x16c]
mov eax, dword [esi + 0x160]
dec dword [esi + 0x68]
cmp byte [esi + 0x124], 0
mov ebx, dword [esi + 0x178]
mov edi, dword [esi + 0x188]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x170]
mov dword [esi + 0x58], edx
mov edx, dword [esi + 0x17c]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x180]
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], ecx
je 0x42e570
mov edx, dword [esi + 0x20]
test edx, edx
je 0x431284
mov ecx, dword [esi + 0x70]
dec edx
mov eax, dword [ecx + 0x1ec]
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edx
mov dword [eax + 0xb0], 0
push ecx
push 0
push dword [0xc189c8]
call dword [0x44c008]
cmp bl, 2
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 8]
mov ebx, dword [esi + 0x18]
je 0x42df1d
cmp dword [esi + 0x24], 0
je 0x42e59f
push dword [esi + 0x58]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
cmp dword [esi + 0x1c], 0
je 0x42e5bc
push dword [esi + 0x2c]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
mov eax, edi
movzx eax, al
cmp eax, 2
je 0x42df1d
cmp dword [esi + 0x3c], 0
je 0x42df1d
push dword [esi + 0x38]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
jmp 0x42df1d
mov eax, dword [esi + 0x68]
movq xmm0, qword [esi + 0x60]
mov dword [esi + 0x140], eax
movq qword [esi + 0x138], xmm0
mov dword [esi + 0x134], 1
movzx eax, byte [0xc18948]
mov eax, dword [0xc189c8]
test eax, eax
jne 0x42e633
call dword [0x44c00c]
test eax, eax
je 0x4312aa
mov dword [0xc189c8], eax
push 4
push 0
push eax
call dword [0x44c010]
test eax, eax
je 0x4312aa
mov ecx, eax
mov dword [eax], 0x48544150
mov dword [esi + 0xc0], eax
lea edx, [esi + 0xc0]
mov dword [esi + 0x588], 0x25
mov dword [esi + 0x20], eax
add ecx, 4
mov dword [esi + 0xc4], ecx
lea ecx, [esi + 0x90]
mov word [esi + 0xc8], 0
call fcn.00432180
mov ecx, dword [esi + 0x20]
movq xmm0, qword [esi + 0x90]
mov eax, dword [esi + 0x98]
mov dword [esi + 0x16c], ecx
mov dword [esi + 0x170], 4
mov dword [esi + 0x174], 4
mov byte [esi + 0x178], 0
movq qword [esi + 0x160], xmm0
mov dword [esi + 0x18], eax
mov dword [esi + 0x168], eax
mov eax, dword [esi + 0x160]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x138]
test eax, eax
je 0x42e77c
mov ecx, dword [esi + 0x13c]
mov dword [esi + 0x70], 0
mov dword [esi + 0x14], ecx
movzx edx, word [eax + 0x1ea]
lea ecx, [eax + 0xb4]
mov dword [esi + 0x10], eax
mov edi, 0xffffffff
lea eax, [edx + edx*8]
mov dword [esi + 0x1c], edx
lea ebx, [eax + eax*2]
add ebx, edx
nop
test ebx, ebx
je 0x42e740
lea eax, [ecx + 0x1c]
mov dword [esi + 0xc], eax
push 1
push dword [ecx + 8]
push dword [ecx]
push dword [esi + 0x18]
push dword [esi + 8]
call dword [0x44c0dc]
mov ecx, dword [esi + 0xc]
add ebx, 0xffffffe4
inc edi
cmp eax, 3
je 0x42e710
cmp eax, 1
jne 0x42e75a
jmp 0x42e743
mov edi, dword [esi + 0x1c]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
sub ecx, 1
jb 0x42e785
mov eax, dword [eax + edi*4 + 0x1ec]
mov dword [esi + 0x14], ecx
jmp 0x42e6ee
mov ecx, dword [esi + 0x10]
cmp eax, 2
jne 0x4310e7
test ecx, ecx
je 0x42e785
shl edi, 4
mov eax, dword [ecx + edi]
mov ecx, dword [ecx + edi + 8]
mov dword [esi + 0x70], eax
mov dword [esi + 0x1c], ecx
jmp 0x42e785
mov dword [esi + 0x70], 0
jmp 0x42e788
mov ecx, dword [esi + 0x20]
push ecx
push 0
push dword [0xc189c8]
call dword [0x44c008]
cmp dword [esi + 0x164], 0
je 0x42e7b1
push dword [esi + 8]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov edx, dword [esi + 0x34]
mov edi, dword [edx + 0x20]
test edi, edi
je 0x42e822
mov edx, dword [edx + 0x18]
mov eax, 0x433eb0
cmp edi, 4
jb 0x42e7f5
mov eax, dword [edx]
xor ecx, ecx
mov dword [esi + 0x588], 2
bswap eax
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
mov eax, 0x433eb0
adc ecx, 0xffffffff
mov ecx, 0x433ea0
cmove eax, ecx
movzx ecx, byte [edi + edx - 1]
mov dword [esi + 0x10], edx
mov dword [esi + 0xc], edi
mov byte [esi + 7], 1
mov dword [esi + 0x588], 2
mov dword [esi + 8], ecx
push ecx
call eax
add esp, 4
mov ebx, dword [esi + 0xc]
test al, al
je 0x42e8af
mov byte [esi + 0x64], 2
mov dword [esi + 0x68], 0xc0f254
mov ebx, dword [esi + 0x64]
mov edx, dword [esi + 0x68]
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x88]
mov dword [ecx], ebx
mov dword [ecx + 4], edx
mov dword [ecx + 8], 2
cmp dword [esi + 0x134], 0
je 0x42e961
mov ecx, dword [esi + 0x138]
test ecx, ecx
je 0x42e933
mov edx, dword [esi + 0x13c]
mov eax, dword [esi + 0x140]
mov dword [esi + 0x164], 0
mov dword [esi + 0x168], ecx
mov dword [esi + 0x588], 1
mov dword [esi + 0x16c], edx
mov dword [esi + 0x174], 0
mov dword [esi + 0x178], ecx
mov ecx, 1
mov dword [esi + 0x17c], edx
jmp 0x42e937
mov edi, dword [esi + 0x10]
xor eax, eax
cmp ebx, 3
mov ecx, 0
jbe 0x42e985
movzx ecx, byte [ebx + edi - 4]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x2e
jne 0x42e983
movzx ecx, byte [edi + ebx - 3]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x65
jne 0x42e983
movzx ecx, byte [edi + ebx - 2]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x78
jne 0x42e983
mov edx, dword [esi + 8]
mov ecx, edx
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, dl
cmp cl, 0x65
sete cl
jmp 0x42e985
xor ecx, ecx
xor eax, eax
mov dword [esi + 0x160], ecx
mov dword [esi + 0x170], ecx
lea ecx, [esi + 0x160]
mov dword [esi + 0x180], eax
mov dword [esi + 0x588], 1
call fcn.004320f0
mov eax, dword [ebp + 8]
cmp dword [eax], 4
jb 0x42e96f
push dword [eax + 4]
call dword [0x44c014]
mov eax, dword [esi + 0x580]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
lea edx, [edi + ebx]
mov dword [esi + 0x18], edx
nop dword [eax + eax]
cmp ebx, eax
je 0x42ea0d
movzx edx, byte [edi + eax]
cmp edx, 0x2f
je 0x42e9a3
inc eax
cmp edx, 0x5c
jne 0x42e990
test cl, cl
je 0x42eae1
mov byte [esi + 7], 1
mov dword [esi + 0x588], 2
lea ecx, [esi + 0x160]
mov edx, edi
push ebx
call fcn.00422270
add esp, 4
mov edx, dword [esi + 0x160]
mov eax, dword [esi + 0x164]
mov ecx, dword [esi + 0x168]
test edx, edx
je 0x42ebe4
mov dword [esi + 0x160], edx
mov dword [esi + 0x168], ecx
lea ecx, [esi + 0x60]
lea edx, [esi + 0x160]
mov dword [esi + 0x164], eax
mov byte [esi + 7], 1
call fcn.00433ed0
jmp 0x42f5e8
mov eax, edi
xor edi, edi
jmp 0x42ea2b
xor edi, edi
test dx, dx
je 0x42ebd1
mov dx, 1
test di, di
jne 0x42ea20
cmp eax, dword [esi + 0x18]
je 0x42ec2f
movzx ebx, byte [eax]
movzx ecx, bl
test bl, bl
js 0x42ea4d
mov ebx, dword [esi + 0xc]
inc eax
jmp 0x42eaae
movzx edi, byte [eax + 1]
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x42eaa3
mov dword [esi + 8], eax
movzx eax, byte [eax + 2]
shl edi, 6
and eax, 0x3f
or eax, edi
cmp bl, 0xf0
mov dword [esi + 0x14], eax
jb 0x42eab7
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
and ecx, 7
shl ecx, 0x12
movzx edi, byte [eax + 3]
add eax, 4
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
and edi, 0x3f
shl eax, 6
or edi, eax
mov eax, dword [esi + 8]
or ecx, edi
cmp ecx, 0xffff
jbe 0x42eaae
jmp 0x42eace
mov ebx, dword [esi + 0xc]
shl ecx, 6
add eax, 2
or ecx, edi
xor edi, edi
mov edx, ecx
jmp 0x42ea22
mov eax, dword [esi + 8]
shl ecx, 0xc
mov ebx, dword [esi + 0xc]
add ecx, dword [esi + 0x14]
add eax, 3
cmp ecx, 0xffff
jbe 0x42eaae
and ecx, 0x3ff
or ecx, 0xdc00
mov edi, ecx
jmp 0x42ea22
test ebx, ebx
js 0x4313aa
movzx eax, byte [0xc18948]
mov eax, dword [0xc189c8]
test eax, eax
jne 0x42eb0c
call dword [0x44c00c]
test eax, eax
je 0x43138b
mov dword [0xc189c8], eax
push ebx
push 0
push eax
call dword [0x44c010]
test eax, eax
je 0x43138b
push ebx
push edi
push eax
mov edi, eax
call fcn.0043d660
add esp, 0xc
mov dword [esi + 0x160], edi
mov dword [esi + 0x164], ebx
mov dword [esi + 0x168], ebx
mov dword [esi + 8], edi
mov byte [esi + 0x16c], 0
mov dword [esi + 0x588], 0x21
lea ecx, [esi + 0x160]
mov edx, 0xc0f210
push 4
call fcn.00427f80
add esp, 4
mov edx, dword [esi + 0x160]
mov eax, dword [esi + 0x164]
mov edi, dword [esi + 0x168]
mov byte [esi + 0x8e], 1
mov dword [esi + 0x588], 0x20
lea ecx, [esi + 0xc0]
mov dword [esi + 8], eax
mov dword [esi + 0x150], eax
mov dword [esi + 0x154], edx
mov dword [esi + 0xc], edx
mov dword [esi + 0x14], edi
push edi
call fcn.00433fa0
add esp, 4
cmp dword [esi + 0xc0], 0
je 0x42ebf6
mov eax, dword [esi + 0xc8]
movq xmm0, qword [esi + 0xc0]
mov dword [esi + 0x68], eax
movq qword [esi + 0x60], xmm0
jmp 0x42f5d0
mov dword [esi + 0x64], 2
mov dword [esi + 0x68], 0xc0f204
jmp 0x42e82d
mov dword [esi + 0x64], eax
mov dword [esi + 0x68], ecx
mov dword [esi + 0x60], 0
jmp 0x42f5e8
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov dword [esi + 0x588], 0x22
call fcn.0042d150
test eax, eax
je 0x42f56c
cmp edx, 2
jne 0x42ec54
movzx ecx, word [eax]
cmp ecx, 0x2e2e
jne 0x42ec54
mov edi, 2
xor ebx, ebx
jmp 0x42f543
mov edx, dword [esi + 0x10]
cmp ebx, 7
ja 0x42ec8b
mov ecx, dword [esi + 0x1c]
xor eax, eax
nop dword [eax]
cmp byte [edx + eax], 0x2e
je 0x42ecad
inc eax
cmp ebx, eax
jne 0x42ec40
mov dword [esi + 0x24], 0
jmp 0x42ecb4
mov edi, edx
nop word cs:[eax + eax]
test edi, edi
je 0x42eca4
mov ecx, edi
dec edi
cmp byte [eax + ecx - 1], 0x2e
jne 0x42ec60
mov ebx, edx
sub ebx, ecx
jb 0x4313fc
test edi, edi
je 0x42f53f
mov edx, ebx
mov ebx, eax
add ebx, ecx
jmp 0x42f543
mov ecx, 0x2e
push ebx
call fcn.00416da0
add esp, 4
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x1c]
jmp 0x42ecb7
mov ebx, eax
xor eax, eax
jmp 0x42f543
mov dword [esi + 0x24], 1
mov eax, dword [esi + 0x70]
test eax, eax
mov dword [esi + 0x588], 2
je 0x42ee25
add ecx, eax
mov dword [esi + 0x90], eax
lea edx, [esi + 0x90]
mov byte [esi + 7], 1
mov dword [esi + 0x94], ecx
lea ecx, [esi + 0x160]
mov word [esi + 0x98], 0
mov byte [esi + 0x9c], 1
call fcn.00427a20
jmp 0x42ed15
lea ecx, [esi + 0x160]
lea edx, [esi + 0x90]
mov byte [esi + 7], 1
call fcn.00427a20
movzx eax, byte [esi + 0x16c]
cmp al, 2
je 0x42ee25
mov edi, dword [esi + 0x168]
mov ecx, dword [esi + 0x160]
mov edx, dword [esi + 0x164]
test edi, edi
jne 0x42ed4f
test edx, edx
je 0x42ed00
push ecx
push 0
push dword [0xc189c8]
call dword [0x44c008]
jmp 0x42ed00
lea ebx, [esi + 0x16d]
mov byte [esi + 8], al
lea eax, [esi + 0xcd]
mov dword [esi + 0x588], 0x1f
movzx ebx, word [ebx]
mov word [eax], bx
mov ebx, eax
lea eax, [esi + 0x16d]
mov ah, byte [eax + 2]
mov al, byte [esi + 8]
mov byte [ebx + 2], ah
mov dword [esi + 0xc0], ecx
mov dword [esi + 0xc4], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0xc8], edi
mov byte [esi + 0xcc], al
lea ecx, [esi + 0xc0]
push dword [esi + 0xc]
call fcn.00429720
add esp, 4
cmp dword [esi + 0x24], 1
je 0x42edbc
lea ecx, [esi + 0xc0]
call fcn.0042d270
mov edx, dword [esi + 0xc0]
lea ecx, [esi + 0x160]
mov dword [esi + 8], edx
push dword [esi + 0xc8]
call fcn.00433fa0
add esp, 4
cmp dword [esi + 0xc4], 0
je 0x42edf3
push dword [esi + 8]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov edi, dword [esi + 0x160]
test edi, edi
jne 0x43050a
lea ecx, [esi + 0x160]
lea edx, [esi + 0x90]
mov byte [esi + 7], 1
mov dword [esi + 0x588], 2
call fcn.00427a20
jmp 0x42ed15
lea ecx, [esi + 0xc0]
mov byte [esi + 7], 1
call fcn.00427cd0
cmp byte [esi + 0xcc], 2
jne 0x42ee51
lea ecx, [esi + 0xc0]
mov byte [esi + 7], 1
call fcn.00424360
jmp 0x42ef3a
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc8]
mov byte [esi + 0x8f], 0
mov dword [esi + 0x588], 0x1d
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 8], ecx
mov dword [esi + 0x70], edx
mov dword [esi + 0x20], eax
call fcn.0042acd0
mov ecx, dword [esi + 0x70]
mov edi, dword [esi + 0x14]
mov dword [esi + 0x588], 0x1e
cmp ecx, edx
cmovb edx, ecx
test eax, eax
cmove edx, ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x160], ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x164], edi
mov dword [esi + 0x168], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0x16c], ecx
lea ecx, [esi + 0x160]
push dword [esi + 0xc]
call fcn.00429720
add esp, 4
cmp dword [esi + 0x24], 1
je 0x42eee8
lea ecx, [esi + 0x160]
call fcn.0042d270
mov edx, dword [esi + 0x160]
lea ecx, [esi + 0x90]
mov dword [esi + 0x20], edx
push dword [esi + 0x168]
call fcn.00433fa0
add esp, 4
cmp dword [esi + 0x164], 0
je 0x42ef1f
push dword [esi + 0x20]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov edi, dword [esi + 0x90]
test edi, edi
je 0x42ef3a
mov eax, dword [esi + 0x98]
mov ebx, dword [esi + 0x94]
jmp 0x42f384
mov edi, 0x200
xor ebx, ebx
mov dword [esi + 0x110], 2
mov dword [esi + 0x114], 0
mov dword [esi + 0x118], 0
mov dword [esi + 0x1c], 2
mov dword [esi + 0x14], 0
cmp edi, 0x201
jb 0x42ef91
jmp 0x42efb0
mov ebx, dword [esi + 8]
jbe 0x42f056
cmp edi, 0x201
jae 0x42efb0
lea eax, [esi + 0x160]
mov dword [esi + 8], ebx
mov ebx, edi
mov dword [esi + 0x20], 0x200
mov edi, eax
jmp 0x42eff7
mov eax, dword [esi + 0x14]
sub edi, ebx
sub eax, ebx
cmp eax, edi
jae 0x42efe5
mov dword [esi + 0x588], 0x1b
lea ecx, [esi + 0x110]
mov edx, ebx
push edi
call fcn.0044ba20
add esp, 4
mov eax, dword [esi + 0x110]
mov ebx, dword [esi + 0x114]
mov dword [esi + 0x1c], eax
mov edi, dword [esi + 0x1c]
mov dword [esi + 0x118], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 8], ebx
push 0
call dword [0x44c090]
push ebx
mov dword [esi + 0x70], edi
push edi
call dword [0x44c0e0]
mov edi, eax
test eax, eax
jne 0x42f01e
call dword [0x44c02c]
test eax, eax
jne 0x42f104
cmp edi, ebx
jne 0x42ef80
call dword [0x44c02c]
cmp eax, 0x7a
jne 0x4312cc
lea edi, [ebx + ebx]
test ebx, ebx
mov ebx, dword [esi + 8]
mov eax, 0xffffffff
cmovs edi, eax
cmp edi, 0x201
jae 0x42efb0
jmp 0x42ef91
mov edx, dword [esi + 0x20]
mov dword [esi + 0x588], 0x1b
cmp edi, edx
ja 0x4313e8
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0xc0]
push edi
call fcn.00424460
add esp, 4
mov edx, dword [esi + 0x10]
mov dword [esi + 0x588], 0x1c
lea ecx, [esi + 0xc0]
push dword [esi + 0xc]
call fcn.00429720
add esp, 4
cmp dword [esi + 0x24], 1
je 0x42f0ac
lea ecx, [esi + 0xc0]
call fcn.0042d270
mov edx, dword [esi + 0xc0]
lea ecx, [esi + 0x40]
mov dword [esi + 0x14], edx
push dword [esi + 0xc8]
call fcn.00433fa0
add esp, 4
cmp dword [esi + 0xc4], 0
je 0x42f0e0
push dword [esi + 0x14]
push 0
push dword [0xc189c8]
call dword [0x44c008]
movq xmm0, qword [esi + 0x40]
mov eax, dword [esi + 0x48]
mov bl, 1
movq qword [esi + 0x94], xmm0
mov dword [esi + 0x9c], eax
mov dword [esi + 0x90], 0
jmp 0x42f123
call dword [0x44c02c]
xor ebx, ebx
mov byte [esi + 0x94], 0
mov dword [esi + 0x98], eax
mov dword [esi + 0x90], 1
cmp dword [esi + 8], 0
je 0x42f13a
push dword [esi + 0x1c]
push 0
push dword [0xc189c8]
call dword [0x44c008]
test bl, bl
je 0x42f14c
mov edi, dword [esi + 0x94]
test edi, edi
jne 0x42f378
lea ecx, [esi + 0x90]
mov byte [esi + 7], 1
mov dword [esi + 0x588], 2
call fcn.00434050
mov edi, 0x200
xor ebx, ebx
mov dword [esi + 0x110], 2
mov dword [esi + 0x114], 0
mov dword [esi + 0x118], 0
mov dword [esi + 0x1c], 2
mov dword [esi + 0x14], 0
cmp edi, 0x201
jb 0x42f1c1
jmp 0x42f1e0
mov ebx, dword [esi + 8]
jbe 0x42f286
cmp edi, 0x201
jae 0x42f1e0
lea eax, [esi + 0x160]
mov dword [esi + 8], ebx
mov ebx, edi
mov dword [esi + 0x20], 0x200
mov edi, eax
jmp 0x42f227
mov eax, dword [esi + 0x14]
sub edi, ebx
sub eax, ebx
cmp eax, edi
jae 0x42f215
mov dword [esi + 0x588], 0x19
lea ecx, [esi + 0x110]
mov edx, ebx
push edi
call fcn.0044ba20
add esp, 4
mov eax, dword [esi + 0x110]
mov ebx, dword [esi + 0x114]
mov dword [esi + 0x1c], eax
mov edi, dword [esi + 0x1c]
mov dword [esi + 0x118], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 8], ebx
push 0
call dword [0x44c090]
push ebx
mov dword [esi + 0x70], edi
push edi
call dword [0x44c0e4]
mov edi, eax
test eax, eax
jne 0x42f24e
call dword [0x44c02c]
test eax, eax
jne 0x42f334
cmp edi, ebx
jne 0x42f1b0
call dword [0x44c02c]
cmp eax, 0x7a
jne 0x4312f2
lea edi, [ebx + ebx]
test ebx, ebx
mov ebx, dword [esi + 8]
mov eax, 0xffffffff
cmovs edi, eax
cmp edi, 0x201
jae 0x42f1e0
jmp 0x42f1c1
mov edx, dword [esi + 0x20]
mov dword [esi + 0x588], 0x19
cmp edi, edx
ja 0x431418
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0xc0]
push edi
call fcn.00424460
add esp, 4
mov edx, dword [esi + 0x10]
mov dword [esi + 0x588], 0x1a
lea ecx, [esi + 0xc0]
push dword [esi + 0xc]
call fcn.00429720
add esp, 4
cmp dword [esi + 0x24], 1
je 0x42f2dc
lea ecx, [esi + 0xc0]
call fcn.0042d270
mov edx, dword [esi + 0xc0]
lea ecx, [esi + 0x40]
mov dword [esi + 0x14], edx
push dword [esi + 0xc8]
call fcn.00433fa0
add esp, 4
cmp dword [esi + 0xc4], 0
je 0x42f310
push dword [esi + 0x14]
push 0
push dword [0xc189c8]
call dword [0x44c008]
movq xmm0, qword [esi + 0x40]
mov eax, dword [esi + 0x48]
mov bl, 1
movq qword [esi + 0x94], xmm0
mov dword [esi + 0x9c], eax
mov dword [esi + 0x90], 0
jmp 0x42f353
call dword [0x44c02c]
xor ebx, ebx
mov byte [esi + 0x94], 0
mov dword [esi + 0x98], eax
mov dword [esi + 0x90], 1
cmp dword [esi + 8], 0
je 0x42f36a
push dword [esi + 0x1c]
push 0
push dword [0xc189c8]
call dword [0x44c008]
test bl, bl
je 0x42f38f
mov edi, dword [esi + 0x94]
test edi, edi
je 0x42f38f
mov eax, dword [esi + 0x9c]
mov ebx, dword [esi + 0x98]
mov dword [esi + 0xc], eax
mov edx, dword [esi + 0x34]
jmp 0x42f5ff
lea ecx, [esi + 0x90]
mov byte [esi + 7], 1
mov dword [esi + 0x588], 2
call fcn.00434050
mov byte [esi + 7], 1
lea ecx, [esi + 0x40]
mov edx, 0xc0e664
push 4
call fcn.00426700
add esp, 4
cmp byte [esi + 0x4c], 2
je 0x42f52f
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
add edx, ecx
mov dword [esi + 0x90], ecx
mov dword [esi + 0x14], eax
mov dword [esi + 0x20], ecx
mov dword [esi + 0x94], edx
mov word [esi + 0x98], 0
mov byte [esi + 0x9c], 1
jmp 0x42f405
mov edi, dword [esi + 0x160]
test edi, edi
jne 0x430a7b
lea ecx, [esi + 0x160]
lea edx, [esi + 0x90]
mov dword [esi + 0x588], 0x17
call fcn.00427a20
jmp 0x42f433
lea ecx, [esi + 0x160]
lea edx, [esi + 0x90]
call fcn.00427a20
movzx eax, byte [esi + 0x16c]
cmp al, 2
je 0x42f518
mov edi, dword [esi + 0x168]
mov ecx, dword [esi + 0x160]
mov edx, dword [esi + 0x164]
test edi, edi
jne 0x42f46d
test edx, edx
je 0x42f422
push ecx
push 0
push dword [0xc189c8]
call dword [0x44c008]
jmp 0x42f422
lea ebx, [esi + 0x16d]
mov dword [esi + 8], ecx
lea ecx, [esi + 0xcd]
mov dword [esi + 0x588], 0x18
movzx ebx, word [ebx]
mov word [ecx], bx
lea ebx, [esi + 0x16d]
mov ah, byte [ebx + 2]
mov byte [ecx + 2], ah
mov ecx, dword [esi + 8]
mov dword [esi + 0xc0], ecx
mov dword [esi + 0xc4], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0xc8], edi
mov byte [esi + 0xcc], al
lea ecx, [esi + 0xc0]
push dword [esi + 0xc]
call fcn.00429720
add esp, 4
cmp dword [esi + 0x24], 1
je 0x42f4d8
lea ecx, [esi + 0xc0]
call fcn.0042d270
mov edx, dword [esi + 0xc0]
lea ecx, [esi + 0x160]
mov dword [esi + 8], edx
push dword [esi + 0xc8]
call fcn.00433fa0
add esp, 4
cmp dword [esi + 0xc4], 0
je 0x42f3f7
push dword [esi + 8]
push 0
push dword [0xc189c8]
call dword [0x44c008]
jmp 0x42f3f7
cmp dword [esi + 0x14], 0
je 0x42f52f
push dword [esi + 0x20]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov byte [esi + 0x64], 2
mov dword [esi + 0x68], 0xc0f228
jmp 0x42e82d
xor ebx, ebx
mov edi, edx
test eax, eax
cmovne ebx, eax
test ebx, ebx
je 0x42f56c
test eax, eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x588], 0x22
cmove edi, edx
mov edx, dword [esi + 0xc]
add ebx, edi
sub ebx, edx
cmp eax, ebx
cmovae eax, ebx
jmp 0x42f572
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x14]
mov dword [esi + 0x588], 0x22
lea ecx, [esi + 0x160]
push eax
call fcn.00422270
add esp, 4
mov edx, dword [esi + 0x160]
mov eax, dword [esi + 0x164]
mov ecx, dword [esi + 0x168]
test edx, edx
je 0x42f5c3
mov dword [esi + 0x160], edx
mov dword [esi + 0x168], ecx
lea ecx, [esi + 0x60]
lea edx, [esi + 0x160]
mov dword [esi + 0x164], eax
call fcn.00433ed0
jmp 0x42f5d0
mov dword [esi + 0x64], eax
mov dword [esi + 0x68], ecx
mov dword [esi + 0x60], 0
mov eax, dword [esi + 0xc]
cmp dword [esi + 8], 0
je 0x42f5e8
push eax
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov edi, dword [esi + 0x60]
mov eax, dword [esi + 0x68]
mov ebx, dword [esi + 0x64]
mov edx, dword [esi + 0x34]
test edi, edi
mov dword [esi + 0xc], eax
je 0x42fcaa
mov dword [esi + 0x14], edi
mov edi, dword [esi + 0xc]
mov dword [esi + 0x20], ebx
cmp edi, 5
jb 0x42f627
mov eax, dword [esi + 0x14]
cmp word [eax + edi*2 - 0xa], 0x2e
jne 0x42f627
mov eax, dword [esi + 0x14]
cmp word [eax + edi*2 - 2], 0
je 0x42fde8
movzx ecx, byte [edx + 0x65]
mov eax, dword [edx + 0x48]
mov edi, dword [edx + 0x50]
xor edx, edx
mov dword [esi + 0xc0], 2
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0x588], 0x14
mov byte [esi + 0x70], cl
lea ecx, [esi + 0xc0]
mov dword [esi + 0xc], eax
mov dword [esi + 8], edi
call fcn.00422700
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0x10]
mov word [eax + ecx*2], 0x22
inc ecx
mov dword [esi + 0x160], edx
lea edx, [esi + 0x160]
mov dword [esi + 0xc8], ecx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x164], ecx
lea ecx, [esi + 0xc0]
mov word [esi + 0x168], 0
call fcn.004225b0
mov edx, dword [esi + 0xc8]
cmp edx, dword [esi + 0xc4]
jne 0x42f6d3
lea ecx, [esi + 0xc0]
call fcn.00422700
mov edx, dword [esi + 0xc8]
mov eax, dword [esi + 0xc0]
mov edi, dword [esi + 0xc]
movzx ecx, byte [esi + 0x70]
mov word [eax + edx*2], 0x22
mov eax, dword [esi + 8]
inc edx
mov dword [esi + 0x18], ecx
mov dword [esi + 0xc8], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
mov dword [esi + 8], eax
cmp edi, dword [esi + 8]
je 0x42f77a
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [esi + 0xc8]
mov dword [esi + 0xc], edi
cmp edx, dword [esi + 0xc4]
jne 0x42f735
lea ecx, [esi + 0xc0]
call fcn.00422700
mov edx, dword [esi + 0xc8]
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0x90]
mov word [eax + edx*2], 0x20
inc edx
mov dword [esi + 0xc8], edx
lea edx, [esi + 0xc0]
push dword [esi + 0x18]
push edi
call fcn.00434160
add esp, 8
movzx eax, byte [esi + 0x90]
cmp al, 4
jne 0x42fcb5
mov edi, dword [esi + 0xc]
add edi, 0x14
cmp edi, dword [esi + 8]
jne 0x42f710
mov eax, dword [esi + 0xc0]
mov ebx, dword [esi + 0xc4]
mov edx, dword [esi + 0xc8]
test eax, eax
je 0x42fd05
mov cl, 1
mov edi, dword [esi + 0x20]
mov dword [esi + 0x148], 0
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x3c], ecx
cmp edx, ebx
mov dword [esi + 0x124], eax
mov dword [esi + 0x128], ebx
mov dword [esi + 0x12c], edx
jne 0x42f7ea
lea ecx, [esi + 0x124]
mov byte [esi + 0x32], 1
mov dword [esi + 0x588], 4
call fcn.00422700
mov eax, dword [esi + 0x124]
mov edx, dword [esi + 0x12c]
mov ecx, dword [esi + 0x34]
mov word [eax + edx*2], 0
inc edx
mov eax, 0x400
mov dword [esi + 0x12c], edx
mov edx, 0x608
cmp byte [ecx + 0x64], 0
cmove edx, eax
or edx, dword [ecx + 0x54]
cmp dword [esi + 0x134], 0
mov dword [esi + 0x14c], edx
je 0x42fdb0
mov ebx, dword [esi + 0x140]
mov edx, dword [esi + 0x138]
mov edi, dword [esi + 0x13c]
mov eax, 2
mov ecx, 0
mov dword [esi + 0x40], 2
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov dword [esi + 8], 0
test ebx, ebx
mov dword [esi + 0x110], edx
mov dword [esi + 0x114], edi
mov dword [esi + 0x118], ebx
jne 0x42f8a9
mov dword [esi + 0xc], edx
lea ecx, [esi + 0x40]
xor edx, edx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x18], edi
mov byte [esi + 0x2b], 1
mov dword [esi + 0x588], 0xc
call fcn.00422700
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x10]
mov word [eax + ecx*2], 0
inc ecx
mov dword [esi + 0x48], ecx
mov dword [esi + 0x2c], eax
xor eax, eax
test edx, edx
mov dword [esi + 0x10], ecx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x588], 0xd
mov dword [esi + 0x130], 0
setne al
cmove ebx, edx
mov dword [esi + 0x160], eax
mov dword [esi + 0x164], 0
mov dword [esi + 0x168], edx
mov dword [esi + 0x16c], edi
mov dword [esi + 0x170], eax
mov dword [esi + 0x174], 0
mov dword [esi + 0x178], edx
lea edx, [esi + 0x160]
mov dword [esi + 0x17c], edi
mov dword [esi + 0x180], ebx
call fcn.0042da20
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x430471
mov edx, dword [esi + 0xc8]
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
cmp byte [eax + ecx + 0xcc], 2
je 0x430471
shl edx, 4
mov edi, dword [eax + edx]
movzx ebx, byte [eax + edx + 0xc]
mov dword [esi + 0xbc], edi
mov edi, dword [eax + edx + 4]
mov edx, dword [eax + edx + 8]
mov byte [esi + 0x123], bl
mov dword [esi + 0x18], edx
mov edx, dword [eax + ecx + 0xb4]
mov dword [esi + 0x84], edi
mov edi, dword [eax + ecx + 0xc4]
mov dword [esi + 0x58], edx
mov edx, dword [eax + ecx + 0xb8]
mov dword [esi + 0x38], edi
xor edi, edi
mov dword [esi + 0x5c], edx
mov edx, dword [eax + ecx + 0xbc]
mov dword [esi + 0x144], edx
mov edx, dword [eax + ecx + 0xc0]
mov eax, dword [eax + ecx + 0xc8]
add eax, edx
mov dword [esi + 0x11c], edx
mov dword [esi + 0xc], eax
jmp 0x42f9cb
xor edi, edi
test bx, bx
je 0x42fd43
mov bx, 1
test di, di
jne 0x42f9c0
cmp edx, dword [esi + 0xc]
je 0x42fa63
movzx ecx, byte [edx]
movzx eax, cl
test cl, cl
js 0x42f9ea
inc edx
jmp 0x42fa3a
movzx edi, byte [edx + 1]
and eax, 0x1f
and edi, 0x3f
cmp cl, 0xdf
jbe 0x42fa32
mov dword [esi + 0x70], edx
movzx edx, byte [edx + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp cl, 0xf0
mov edi, edx
jb 0x42fa40
mov edx, dword [esi + 0x70]
and eax, 7
shl edi, 6
shl eax, 0x12
movzx ecx, byte [edx + 3]
add edx, 4
and ecx, 0x3f
or ecx, edi
or eax, ecx
cmp eax, 0xffff
jbe 0x42fa3a
jmp 0x42fa52
shl eax, 6
add edx, 2
or eax, edi
xor edi, edi
mov ebx, eax
jmp 0x42f9c2
mov edx, dword [esi + 0x70]
shl eax, 0xc
or eax, edi
add edx, 3
cmp eax, 0xffff
jbe 0x42fa3a
and eax, 0x3ff
or eax, 0xdc00
mov edi, eax
jmp 0x42f9c2
cmp dword [esi + 0x38], 0
mov edx, dword [esi + 0x2c]
je 0x42fa84
push dword [esi + 0x11c]
push 0
push dword [0xc189c8]
mov edi, edx
call dword [0x44c008]
mov edx, edi
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x144]
sub eax, ebx
cmp eax, edi
jae 0x42faba
mov dword [esi + 0x588], 0x10
lea ecx, [esi + 0x40]
mov edx, ebx
push edi
call fcn.0044ba20
add esp, 4
mov edx, dword [esi + 0x40]
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 0x144]
lea eax, [edi + edi]
mov dword [esi + 0x2c], edx
lea ecx, [edx + ebx*2]
push eax
push dword [esi + 0x58]
push ecx
call fcn.0043d660
add esp, 0xc
add ebx, edi
cmp dword [esi + 0x5c], 0
mov dword [esi + 0x48], ebx
je 0x42faec
push dword [esi + 0x58]
push 0
push dword [0xc189c8]
call dword [0x44c008]
cmp ebx, dword [esi + 0x44]
jne 0x42fb11
lea ecx, [esi + 0x40]
mov edx, ebx
mov byte [esi + 0x33], 1
mov dword [esi + 0x588], 0xe
call fcn.00422700
mov eax, dword [esi + 0x40]
mov ebx, dword [esi + 0x48]
jmp 0x42fb14
mov eax, dword [esi + 0x2c]
mov word [eax + ebx*2], 0x3d
mov eax, dword [esi + 0xbc]
and dword [esi + 0x11c], 0xffffff00
inc ebx
xor edi, edi
mov dword [esi + 0x48], ebx
add dword [esi + 0x18], eax
jmp 0x42fb40
xor edi, edi
test dx, dx
je 0x430035
mov dx, 1
test di, di
jne 0x42fb35
cmp eax, dword [esi + 0x18]
je 0x42fbe0
movzx ebx, byte [eax]
movzx ecx, bl
test bl, bl
js 0x42fb5f
inc eax
jmp 0x42fbd7
movzx edi, byte [eax + 1]
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x42fba6
mov dword [esi + 8], eax
movzx eax, byte [eax + 2]
shl edi, 6
and eax, 0x3f
or eax, edi
cmp bl, 0xf0
mov dword [esi + 0xc], eax
jb 0x42fbb0
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0xc]
and ecx, 7
shl ecx, 0x12
movzx edi, byte [ebx + 3]
shl eax, 6
add ebx, 4
and edi, 0x3f
or edi, eax
mov eax, ebx
or ecx, edi
jmp 0x42fbbc
shl ecx, 6
add eax, 2
or ecx, edi
jmp 0x42fbd7
mov eax, dword [esi + 8]
shl ecx, 0xc
add ecx, dword [esi + 0xc]
add eax, 3
cmp ecx, 0xffff
jbe 0x42fbd7
and ecx, 0x3ff
or ecx, 0xdc00
mov edi, ecx
jmp 0x42fb37
xor edi, edi
mov edx, ecx
jmp 0x42fb37
mov ecx, dword [esi + 0xbc]
mov eax, ecx
shr eax, 8
cmp byte [esi + 0x123], 2
je 0x4310d6
mov dword [esi + 0x90], ecx
mov ecx, dword [esi + 0x18]
lea edx, [esi + 0x90]
mov dword [esi + 0x130], eax
mov dword [esi + 0x588], 0xf
mov dword [esi + 0x94], ecx
lea ecx, [esi + 0x40]
mov word [esi + 0x98], 0
call fcn.004225b0
cmp dword [esi + 0x84], 0
je 0x42fc4b
push dword [esi + 0xbc]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov edi, dword [esi + 0x48]
cmp edi, dword [esi + 0x44]
jne 0x42fc6e
lea ecx, [esi + 0x40]
mov edx, edi
mov byte [esi + 0x33], 0
mov dword [esi + 0x588], 0xe
call fcn.00422700
mov edi, dword [esi + 0x48]
mov eax, dword [esi + 0x40]
lea ecx, [esi + 0xc0]
lea edx, [esi + 0x160]
mov word [eax + edi*2], 0
inc edi
mov dword [esi + 0x2c], eax
mov dword [esi + 0x588], 0xd
mov dword [esi + 0x10], edi
mov dword [esi + 0x48], edi
mov edi, dword [esi + 0x11c]
mov dword [esi + 8], edi
call fcn.0042da20
jmp 0x42f91c
mov eax, dword [ebp + 8]
mov edx, dword [esi + 0xc]
jmp 0x42e836
movzx ecx, byte [esi + 0x97]
mov edi, dword [esi + 0x91]
movzx edx, word [esi + 0x95]
movzx eax, al
mov ebx, edi
shl ecx, 0x10
or edx, ecx
shl ebx, 8
cmp dword [esi + 0xc4], 0
je 0x42fcff
push dword [esi + 0xc0]
push 0
push dword [0xc189c8]
mov dword [esi + 0xc], edx
mov dword [esi + 8], eax
call dword [0x44c008]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
shld edx, edi, 8
or ebx, eax
mov eax, dword [esi + 0x88]
mov dword [eax], ebx
mov dword [eax + 4], edx
mov dword [eax + 8], 2
mov eax, dword [ebp + 8]
xor ebx, ebx
cmp dword [esi + 0x20], 0
je 0x42fd36
push dword [esi + 0x14]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov eax, dword [ebp + 8]
test bl, bl
je 0x42e848
jmp 0x42e961
cmp dword [esi + 0x38], 0
je 0x42fd5d
push dword [esi + 0x11c]
push 0
push dword [0xc189c8]
call dword [0x44c008]
cmp dword [esi + 0x84], 0
mov edi, dword [esi + 0x58]
je 0x42fd7d
push dword [esi + 0xbc]
push 0
push dword [0xc189c8]
call dword [0x44c008]
or dword [esi + 8], 2
cmp dword [esi + 0x5c], 0
mov dword [esi + 0x10], 0xc0f204
je 0x430421
push edi
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov dword [esi + 0x588], 0xc
jmp 0x430421
mov edx, 2
xor edi, edi
mov dword [esi + 8], 0
cmp byte [ecx + 0x44], 2
mov dword [esi + 0x18], edx
mov dword [esi + 0x2c], edi
jne 0x42ff63
mov dword [esi + 0xbc], 0
mov dword [esi + 0x58], 2
xor eax, eax
xor ecx, ecx
jmp 0x4300f1
mov eax, dword [esi + 0x14]
movzx eax, word [eax + edi*2 - 8]
lea ecx, [eax - 0x42]
cmp ecx, 0x21
ja 0x42f627
mov ebx, dword [esi + 0x5c]
add ebx, dword [ecx*4 + 0x432064]
jmp ebx
mov edx, dword [ecx + 0x38]
mov eax, dword [ecx + 0x40]
xor edi, edi
add eax, edx
mov dword [esi + 0x70], edx
mov dword [esi + 0xc], eax
jmp 0x42ff80
xor edi, edi
test bx, bx
je 0x430016
mov bx, 1
test di, di
jne 0x42ff75
cmp edx, dword [esi + 0xc]
je 0x43006d
movzx ecx, byte [edx]
movzx eax, cl
test cl, cl
js 0x42ff9f
inc edx
jmp 0x43000d
movzx edi, byte [edx + 1]
and eax, 0x1f
and edi, 0x3f
cmp cl, 0xdf
jbe 0x42ffe0
mov dword [esi + 0x10], edx
movzx edx, byte [edx + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp cl, 0xf0
mov edi, edx
jb 0x42ffea
mov edx, dword [esi + 0x10]
and eax, 7
shl edi, 6
shl eax, 0x12
movzx ecx, byte [edx + 3]
add edx, 4
and ecx, 0x3f
or ecx, edi
or eax, ecx
jmp 0x42fff5
shl eax, 6
add edx, 2
or eax, edi
jmp 0x43000d
mov edx, dword [esi + 0x10]
shl eax, 0xc
or eax, edi
add edx, 3
cmp eax, 0xffff
jbe 0x43000d
and eax, 0x3ff
or eax, 0xdc00
mov edi, eax
jmp 0x42ff77
xor edi, edi
mov ebx, eax
jmp 0x42ff77
mov eax, dword [esi + 0x88]
mov dword [eax + 4], 0xc0f204
mov dword [eax], 2
mov dword [eax + 8], 2
jmp 0x430db7
cmp dword [esi + 0x84], 0
mov edi, 2
je 0x430402
mov dword [esi + 0x10], 0xc0f204
push dword [esi + 0xbc]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov eax, dword [esi + 0x130]
jmp 0x43040f
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0xc]
lea edx, [esi + 0x160]
mov dword [esi + 0x588], 5
mov dword [esi + 0x160], eax
mov dword [esi + 0x164], ecx
lea ecx, [esi + 0xc0]
mov word [esi + 0x168], 0
call fcn.00432180
mov eax, dword [esi + 0xc4]
mov edx, dword [esi + 0xc8]
cmp edx, eax
jne 0x4300d4
lea ecx, [esi + 0xc0]
mov dword [esi + 0x588], 0xb
call fcn.00422700
mov eax, dword [esi + 0xc4]
mov edx, dword [esi + 0xc8]
mov ebx, dword [esi + 0xc0]
mov ecx, eax
and ecx, 0xffffff00
mov word [ebx + edx*2], 0
mov dword [esi + 0xbc], ebx
mov dword [esi + 0x58], ebx
movzx eax, al
pxor xmm0, xmm0
or eax, ecx
movdqa xmmword [esi + 0x40], xmm0
mov dword [esi + 0xc], eax
push 0xc189d0
call dword [0x44c020]
mov eax, dword [0xc189b4]
test eax, 0x7fffffff
je 0x43012c
mov dword [esi + 0x588], 6
call fcn.0044bac0
xor al, 1
jmp 0x43012e
xor eax, eax
movzx edx, byte [0xc189d4]
xor ecx, ecx
mov dword [esi + 0x64], 0xc189d0
mov dword [esi + 0x10], eax
mov byte [esi + 0x68], al
mov eax, dword [ebp + 8]
mov dword [esi + 0x90], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0x158], 2
mov dword [esi + 0x588], 7
test dl, dl
mov byte [esi + 0x70], dl
lea edx, [esi + 0x158]
setne cl
cmp byte [ebp + 0xc], 0
mov dword [esi + 0x60], ecx
mov ecx, dword [esi + 0x34]
cmovne edx, eax
cmp dword [ecx], 6
lea edi, [ecx + 8]
cmovne edx, ecx
cmp dword [ecx + 8], 6
cmove edi, eax
cmp dword [ecx + 0x10], 6
mov dword [esi + 0x38], edi
lea edi, [ecx + 0x10]
lea ecx, [esi + 0x160]
cmove edi, eax
lea eax, [esi + 0x90]
mov dword [esi + 0x5c], edi
push eax
push 0xfffffffffffffff6
call fcn.00434640
add esp, 8
movzx eax, byte [esi + 0x160]
cmp al, 4
jne 0x43033c
mov ecx, dword [esi + 0x164]
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x98]
mov dword [esi + 0x588], 8
mov dword [esi + 0x84], ecx
lea ecx, [esi + 0x160]
push eax
push 0xfffffffffffffff5
call fcn.00434640
add esp, 8
movzx eax, byte [esi + 0x160]
cmp al, 4
jne 0x430372
mov ecx, dword [esi + 0x164]
mov edx, dword [esi + 0x5c]
lea eax, [esi + 0xa0]
mov dword [esi + 0x588], 9
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x160]
push eax
push 0xfffffffffffffff4
call fcn.00434640
add esp, 8
movzx eax, byte [esi + 0x160]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x14c]
cmp al, 4
jne 0x4304d8
mov edi, dword [esi + 0x164]
cmp dword [esi + 0x84], 0
pxor xmm0, xmm0
mov dword [esi + 0x100], 0
movdqa xmmword [esi + 0xf0], xmm0
movdqa xmmword [esi + 0xe0], xmm0
movdqa xmmword [esi + 0xd0], xmm0
movdqa xmmword [esi + 0xc0], xmm0
jne 0x4302a5
cmp dword [esi + 0x38], 0
jne 0x4302a5
test edi, edi
je 0x4302ca
mov eax, dword [esi + 0x84]
mov ebx, dword [esi + 0x38]
mov dword [esi + 0xec], pe_nt_image_headers32
mov dword [esi + 0xf8], eax
mov dword [esi + 0xfc], ebx
mov dword [esi + 0x100], edi
mov eax, dword [edx + 0x60]
mov dword [esi + 0x5c], edi
test eax, eax
mov dword [esi + 0x11c], eax
je 0x430a66
add edx, 0x58
lea ecx, [esi + 0x110]
mov dword [esi + 0xc0], 0x48
mov dword [esi + 0x588], 0xa
call fcn.00434ef0
cmp dword [esi + 0x110], 0
mov ebx, dword [esi + 0x114]
mov edi, dword [esi + 0x118]
mov ecx, dword [esi + 0x14c]
lea edx, [esi + 0x160]
je 0x430b13
mov eax, dword [esi + 0x88]
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [eax + 8], 2
jmp 0x430ce1
movzx ecx, byte [esi + 0x163]
mov edx, dword [esi + 0x88]
mov edi, dword [esi + 0x164]
movzx ebx, byte [esi + 0x70]
mov byte [edx + 3], cl
movzx ecx, word [esi + 0x161]
mov word [edx + 1], cx
mov byte [edx], al
mov dword [edx + 4], edi
mov dword [edx + 8], 2
jmp 0x430d03
movzx ecx, byte [esi + 0x163]
mov edx, dword [esi + 0x88]
mov edi, dword [esi + 0x164]
movzx ebx, byte [esi + 0x70]
mov byte [edx + 3], cl
movzx ecx, word [esi + 0x161]
mov word [edx + 1], cx
mov byte [edx], al
mov dword [edx + 4], edi
mov dword [edx + 8], 2
jmp 0x430cf7
mov eax, dword [esi + 0x130]
mov dword [esi + 0x10], 0xc0f204
shl eax, 8
mov dword [esi + 0x588], 0xc
or eax, edi
mov dword [esi + 8], eax
lea ecx, [esi + 0x160]
mov byte [esi + 0x2b], 0
mov dword [esi + 0x588], 0xc
call fcn.004320f0
cmp dword [esi + 0x44], 0
mov ebx, dword [esi + 0x10]
je 0x430454
push dword [esi + 0x40]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 8]
mov dword [ecx], edx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], 2
jmp 0x430dd4
lea ecx, [esi + 0x160]
mov byte [esi + 0x2b], 0
mov dword [esi + 0x588], 0xc
call fcn.004320f0
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x2c]
cmp ebx, dword [esi + 0x44]
jne 0x4304a9
lea ecx, [esi + 0x40]
mov edx, ebx
mov byte [esi + 0x2b], 0
call fcn.00422700
mov edi, dword [esi + 0x40]
mov ebx, dword [esi + 0x48]
mov word [edi + ebx*2], 0
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esi + 8], eax
mov eax, dword [ebp + 8]
test edx, edx
jne 0x42fdbe
inc ebx
jmp 0x430457
movzx ecx, byte [esi + 0x163]
mov edx, dword [esi + 0x88]
movzx ebx, word [esi + 0x161]
mov edi, dword [esi + 0x164]
mov byte [edx + 3], cl
mov word [edx + 1], bx
mov byte [edx], al
mov dword [edx + 4], edi
mov dword [edx + 8], 2
jmp 0x430cea
mov eax, dword [esi + 0x168]
mov ebx, dword [esi + 0x164]
jmp 0x42f384
lea edx, [esi + 0xc0]
mov dword [esi + 0xc0], 0x44
jmp 0x430b68
mov eax, dword [esi + 0x168]
mov ebx, dword [esi + 0x164]
cmp dword [esi + 0x14], 0
mov dword [esi + 0xc], eax
je 0x42f387
push dword [esi + 0x20]
push 0
push dword [0xc189c8]
call dword [0x44c008]
jmp 0x42f387
movaps xmm1, xmmword [esi + 0xe0]
mov eax, dword [esi + 0x100]
movdqa xmm0, xmmword [esi + 0xf0]
movaps xmm2, xmmword [esi + 0xc0]
mov dword [esi + 0x34], edi
or ecx, 0x80000
movaps xmmword [esi + 0x180], xmm1
movaps xmm1, xmmword [esi + 0xd0]
mov dword [esi + 0x1a0], eax
movdqa xmmword [esi + 0x190], xmm0
movaps xmmword [esi + 0x160], xmm2
movaps xmmword [esi + 0x170], xmm1
mov dword [esi + 0x1a4], ebx
mov edi, dword [esi + 0x124]
lea eax, [esi + 0x40]
push eax
push edx
push dword [esi + 0xbc]
push dword [esi + 0x2c]
push ecx
push 1
push 0
push 0
mov dword [esi + 0x2c], edi
push edi
push dword [esi + 0x3c]
call dword [0x44c0e8]
test eax, eax
je 0x430ca1
mov eax, dword [esi + 0x88]
movsd xmm1, qword [esi + 0x98]
movq xmm0, qword [esi + 0xa0]
movsd xmm2, qword [esi + 0x90]
cmp dword [esi + 0x11c], 0
mov edx, dword [esi + 0x34]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esi + 0x40]
movq qword [eax + 0x18], xmm0
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
je 0x430beb
mov ecx, ebx
call fcn.00435200
mov dword [esi + 0x588], 6
mov edi, dword [0x44c014]
push dword [esi + 0x5c]
call edi
push dword [esi + 0x38]
call edi
push dword [esi + 0x84]
call edi
lea ecx, [esi + 0x60]
mov dword [esi + 0x588], 6
call fcn.00435230
cmp dword [esi + 0xc], 0
je 0x430c2c
push dword [esi + 0x58]
push 0
push dword [0xc189c8]
call dword [0x44c008]
cmp dword [esi + 8], 0
mov edi, dword [esi + 0x14]
mov ebx, dword [esi + 0x20]
je 0x430c49
push dword [esi + 0x18]
push 0
push dword [0xc189c8]
call dword [0x44c008]
cmp dword [esi + 0x128], 0
je 0x430c63
push dword [esi + 0x2c]
push 0
push dword [0xc189c8]
call dword [0x44c008]
cmp dword [esi + 0x1c], 0
je 0x430c7a
push dword [esi + 0x3c]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov ecx, dword [esi + 0x24]
test ebx, ebx
sete al
or cl, al
cmp cl, 1
je 0x42e95e
push edi
push 0
push dword [0xc189c8]
call dword [0x44c008]
jmp 0x42e95e
call dword [0x44c02c]
movzx ecx, word [esi + 0x110]
mov edx, dword [esi + 0x88]
cmp dword [esi + 0x11c], 0
mov word [edx + 1], cx
mov ch, byte [esi + 0x112]
mov byte [edx + 3], ch
mov byte [edx], 0
mov dword [edx + 4], eax
mov dword [edx + 8], 2
mov edx, dword [esi + 0x34]
je 0x430ce1
mov ecx, ebx
call fcn.00435200
push dword [esi + 0x5c]
call dword [0x44c014]
movzx ebx, byte [esi + 0x70]
push dword [esi + 0x38]
call dword [0x44c014]
push dword [esi + 0x84]
call dword [0x44c014]
cmp dword [esi + 0x90], 0
je 0x430d18
push dword [esi + 0x94]
call dword [0x44c014]
cmp dword [esi + 0x98], 0
je 0x430d2d
push dword [esi + 0x9c]
call dword [0x44c014]
cmp dword [esi + 0xa0], 0
je 0x430d42
push dword [esi + 0xa4]
call dword [0x44c014]
test bl, bl
je 0x430d69
cmp byte [esi + 0x10], 0
jne 0x430d95
mov eax, dword [0xc189b4]
test eax, 0x7fffffff
je 0x430d95
mov dword [esi + 0x588], 6
call fcn.0044bac0
jmp 0x430d8a
cmp byte [esi + 0x10], 0
jne 0x430d95
mov eax, dword [0xc189b4]
test eax, 0x7fffffff
je 0x430d95
mov dword [esi + 0x588], 6
call fcn.0044bac0
test al, al
jne 0x430d95
mov byte [0xc189d4], 1
push 0xc189d0
call dword [0x44c028]
cmp dword [esi + 0xc], 0
je 0x430db7
push dword [esi + 0x58]
push 0
push dword [0xc189c8]
call dword [0x44c008]
cmp dword [esi + 8], 0
mov eax, dword [ebp + 8]
je 0x430dd4
push dword [esi + 0x18]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov eax, dword [ebp + 8]
cmp dword [esi + 0x128], 0
je 0x430df4
push dword [esi + 0x124]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov eax, dword [ebp + 8]
cmp dword [esi + 0x1c], 0
je 0x430e0e
push dword [esi + 0x3c]
push 0
push dword [0xc189c8]
call dword [0x44c008]
mov eax, dword [ebp + 8]
cmp byte [esi + 0x24], 0
mov bl, 1
jne 0x42e961
jmp 0x42fd1c
mov dword [esi + 0x588], 0
mov ecx, 0xc0cf5c
mov edx, 0x2b
push 0xc0d8f4
call fcn.0044aa30
add esp, 4
jmp 0x4314bc
mov edx, dword [esi + 0x84]
movzx edi, cl
mov dword [esi + 0x10], edx
jmp 0x43040f
call dword [0x44c02c]
lea edx, [esi + 0x90]
lea ecx, [esi + 0x40]
mov dword [esi + 0xc0], 0xc0f1a4
mov dword [esi + 0xc4], 1
mov dword [esi + 0xd0], 0
mov byte [esi + 0x90], 0
mov dword [esi + 0x94], eax
mov dword [esi + 0x588], 0x24
mov dword [esi + 0x40], edx
mov dword [esi + 0xc8], ecx
lea ecx, [esi + 0xc0]
mov edx, 0xc0f1d4
mov dword [esi + 0x44], 0x427150
mov dword [esi + 0xcc], 1
call fcn.0044a8b0
jmp 0x4314bc
mov dword [esi + 0x588], 0x26
mov ecx, 0xc0cf5c
mov edx, 0x2b
push 0xc0cfe8
call fcn.0044aa30
add esp, 4
jmp 0x4314bc
mov edx, dword [esi + 0x70]
mov ecx, 1
mov byte [esi + 0x57], 1
mov dword [esi + 0x588], 0x28
call fcn.0044a800
jmp 0x4314bc
mov edx, dword [esi + 0xc]
mov ecx, 1
mov dword [esi + 0x588], 0x26
call fcn.0044a800
jmp 0x4314bc
mov dword [esi + 0x588], 0x2a
call fcn.004107a0
jmp 0x4314bc
mov byte [esi + 0x57], 1
mov dword [esi + 0x588], 0x28
call fcn.004107a0
jmp 0x4314bc
mov dword [esi + 0x588], 0x26
call fcn.004107a0
jmp 0x4314bc
mov dword [esi + 0x588], 0x2a
call fcn.004107a0
jmp 0x4314bc
mov edx, dword [esi + 0x2c]
mov ecx, 2
mov dword [esi + 0x588], 0x2a
call fcn.0044a800
jmp 0x4314bc
mov dword [esi + 0x588], 0x2b
mov ecx, 1
xor edx, edx
push 0xc0f010
call fcn.0044a8e0
add esp, 4
jmp 0x4314bc
mov edx, dword [esi + 8]
mov ecx, eax
push 0xc0eff0
call fcn.0044a9c0
add esp, 4
jmp 0x4314bc
mov dword [esi + 0x588], 0x2c
mov ecx, edi
push 0xc0f000
call fcn.0044a8e0
add esp, 4
jmp 0x4314bc
mov dword [esi + 0x588], 0x29
mov ecx, 0xc0d5f4
mov edx, 0x21
push 0xc0d618
call fcn.0044aa30
add esp, 4
jmp 0x4314bc
mov ecx, 1
mov edx, 4
mov byte [esi + 7], 1
mov dword [esi + 0x588], 2
call fcn.0044a800
jmp 0x4314bc
mov dword [esi + 0x588], 0x1b
mov ecx, 0xc0d744
mov edx, 0x28
push 0xc0f690
call fcn.0044aa30
add esp, 4
jmp 0x4314bc
mov dword [esi + 0x588], 0x19
mov ecx, 0xc0d744
mov edx, 0x28
push 0xc0f690
call fcn.0044aa30
add esp, 4
jmp 0x4314bc
call dword [0x44c02c]
lea edx, [esi + 0x90]
lea ecx, [esi + 0x40]
mov dword [esi + 0x160], 0xc0f044
mov dword [esi + 0x164], 1
mov dword [esi + 0x170], 0
mov byte [esi + 0x90], 0
mov dword [esi + 0x94], eax
mov dword [esi + 0x588], 0x27
mov dword [esi + 0x40], edx
mov dword [esi + 0x168], ecx
lea ecx, [esi + 0x160]
mov edx, 0xc0f04c
mov dword [esi + 0x44], 0x427150
mov dword [esi + 0x16c], 1
call fcn.0044a8b0
jmp 0x4314bc
mov ecx, 1
mov edx, ebx
mov byte [esi + 7], 1
mov dword [esi + 0x588], 2
call fcn.0044a800
jmp 0x4314bc
mov byte [esi + 7], 1
mov dword [esi + 0x588], 2
call fcn.004107a0
jmp 0x4314bc
mov ecx, edi
push 0xc0f680
call fcn.0044a9c0
add esp, 4
jmp 0x4314bc
mov dword [esi + 0x588], 0x22
push 0xc0d068
call fcn.0044a8e0
add esp, 4
jmp 0x4314bc
mov ecx, edi
push 0xc0f680
call fcn.0044a9c0
add esp, 4
jmp 0x4314bc
ud2