Function at 0x42bbb1
Capabilities:
Copy file
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x458
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x54], 0xf37ef163
mov dword [esp + 0x58], 0xef0fed71
mov dword [esp + 0x5c], 0xeb3ce97d
mov dword [esp + 0x60], 0xe76ee579
mov dword [esp + 0x64], 0xe3e2e17d
mov dword [esp + 0x68], 0
mov eax, 0xad
mov ecx, 0x261f553
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x59]
mov esi, ecx
and esi, 0x5e
mov edi, ecx
or edi, 0xa1
add edi, eax
or edi, esi
mov ebx, edx
and edx, 0x5e
xor edx, edi
and ebx, 0xffffffa1
or ebx, 0x5c
xor ebx, edx
xor bl, 2
add bl, 0xa4
mov byte [esp + eax - 0x59], bl
inc eax
dec ecx
cmp eax, 0xc5
jne case.default.0x42b14b
lea eax, [esp + 0x54]
lea ecx, [esp + 0x30]
push eax
call fcn.0043ea60
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44ddd0]
lea ecx, [esp + 0x30]
push 0x410
call fcn.0043ecf0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44ddd8]
mov dword [esp + 0x54], 0x7aa36845
mov dword [esp + 0x58], 0x707a5d40
mov dword [esp + 0x5c], 0x7c454361
mov dword [esp + 0x60], 0x774e4665
mov dword [esp + 0x64], 0x406b9266
mov dword [esp + 0x68], 0x4f6c966d
mov dword [esp + 0x6c], 0x52698e6a
mov dword [esp + 0x70], 0x568f5473
mov dword [esp + 0x74], 0x86707672
mov dword [esp + 0x78], 0x5e839571
mov dword [esp + 0x7c], 0x3b6a8181
mov word [esp + 0x80], 0
mov edx, 0xd8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx - 0x84]
mov ebx, eax
mov esi, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, esi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0xc8
mov byte [esp + edx - 0x84], al
inc edx
cmp edx, 0x106
jne case.default.0x42b24d
lea eax, [esp + 0x48]
lea ecx, [esp + 0x30]
push 0
push 0x2b
lea ebx, [esp + 0x5c]
push ebx
push eax
call fcn.0043f980
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x44dde0]
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040cb10
add esp, 4
jmp dword [0x44ddf0]
mov dword [esp + 0x24], 0
lea ecx, [esp + 0x55]
mov dword [esp + 0x40], ecx
mov ecx, eax
xor eax, eax
cmp edi, esi
setne al
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], esi
jmp dword [eax*4 + 0x44ddf8]
mov ebx, dword [esp + 0x24]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44de00]
jmp dword [0x44de90]
add edi, 8
xor eax, eax
cmp edi, esi
setne al
jmp dword [eax*4 + 0x44ddf8]
mov esi, dword [edi]
mov dword [esp + 0x10], edi
mov edi, dword [edi + 4]
push 0x400
push 0
push ebx
call fcn.0040cbc0
add esp, 0xc
lea eax, [esp + 8]
lea ecx, [esp + 0x30]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.0043f7c0
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp + 8]
or ecx, dword [esp + 0xc]
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x44de08]
mov ecx, dword [case.0x42b24d.10]
nop
nop
nop
nop
nop
nop
nop
mov eax, 1
jmp ecx
mov ecx, dword [case.0x42b24d.17]
nop
nop
nop
jmp ecx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x2c]
jmp dword [eax*4 + 0x44de30]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
xor edx, edx
test al, al
je 0x42b381
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42b37f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42b370
jmp 0x42b381
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44de38]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
mov dword [esp + 4], edx
je 0x42b3b1
mov ecx, edx
cmp al, 0x2e
je 0x42b3af
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42b3a0
jmp 0x42b3b1
mov esi, ecx
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 4]
jmp dword [eax*4 + 0x44de40]
mov edx, esi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x42b3db
cmp eax, 0x2e
jne 0x42b3dc
dec ecx
mov eax, dword [esp + 4]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x20], edx
je 0x42b3f3
cmp eax, 0x2e
jne 0x42b3f4
dec ecx
mov dword [esp + 0x44], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cb10
add esp, 4
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 4]
je 0x42b4f6
xor edx, edx
mov edi, 2
jmp 0x42b430
mov edx, dword [esp + 0x28]
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x42b4f6
mov dword [esp], edx
mov esi, dword [esp + 4]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00421f80
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00421f80
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0x14]
mov edx, dword [esp]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [esp + 0x20]
cmp edi, ecx
jae 0x42b420
mov eax, dword [esp + 4]
movzx eax, byte [eax + edi]
push eax
mov esi, edx
call fcn.00421f80
mov edx, esi
mov ecx, dword [esp + 0x24]
add esp, 4
cmp al, 0x40
je 0x42b420
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [esp]
lea edx, [esi + 2]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
mov byte [edx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x42b41b
mov eax, dword [esp + 4]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00421f80
mov ecx, dword [esp + 0x24]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x28]
je 0x42b420
shl bl, 6
add al, bl
mov edx, dword [esp + 0x14]
mov esi, dword [esp]
mov byte [edx + esi + 2], al
add esi, 3
mov edx, esi
jmp 0x42b420
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x14]
mov byte [edi + eax], 0
push edi
call fcn.00403dc0
add esp, 4
mov esi, eax
jmp dword [0x44de48]
jmp dword [0x44de54]
mov dword [esp], esi
push esi
call fcn.00404890
add esp, 4
mov esi, eax
xor eax, eax
test esi, esi
setne al
lea ebx, [esp + 0x54]
jmp dword [eax*4 + 0x44de60]
mov edi, dword [esp + 0x10]
mov esi, dword [esp]
jmp 0x42b669
jmp dword [0x44de6c]
mov dword [esp + 8], 0x3f98acaf
mov dword [esp + 0xc], 0
mov eax, 0xca868cca
movzx edx, byte [esp + eax + 0x3579733e]
mov ecx, eax
and ecx, edx
add ecx, ecx
add edx, eax
mov edi, ecx
xor edi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
add cl, 0xe
mov byte [esp + eax + 0x3579733e], cl
inc eax
cmp eax, 0xca868cd2
jne 0x42b560
lea eax, [esp + 8]
push eax
push esi
call fcn.00404650
add esp, 8
nop
nop
nop
nop
mov dword [esp + 8], 0x3f98acaf
mov dword [esp + 0xc], 0
mov eax, 0xca868cca
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x3579733e]
mov ecx, eax
and ecx, edx
add ecx, ecx
add edx, eax
mov edi, ecx
xor edi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
add cl, 0xe
mov byte [esp + eax + 0x3579733e], cl
inc eax
cmp eax, 0xca868cd2
jne 0x42b5c0
lea eax, [esp + 8]
push eax
push esi
call fcn.00404650
add esp, 8
jmp dword [0x44de74]
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [esp + 0x1c]
jmp dword [ecx*4 + 0x44de78]
mov edi, dword [esp + 0x10]
mov esi, dword [esp]
jmp 0x42b643
movzx ecx, byte [eax]
test cl, cl
mov edi, dword [esp + 0x10]
mov esi, dword [esp]
je 0x42b63b
inc eax
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42b630
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x54]
test al, al
je 0x42b65b
mov ecx, dword [esp + 0x40]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42b650
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x1c], edx
mov al, 1
mov dword [esp + 0x24], eax
push esi
call fcn.00404e40
add esp, 4
mov eax, dword [case.0x42b24d.19]
mov esi, dword [esp + 0x2c]
nop
nop
nop
nop
nop
jmp eax
push edi
call fcn.0040cb20
add esp, 4
push edi
call fcn.0040cb20
add esp, 4
jmp dword [0x44de58]
xor ebx, ebx
test edi, edi
jne 0x42b74b
jmp case.0x42b14b.0
mov edx, dword [esp + 0x1c]
mov byte [edx], 0
sub edx, dword [esp + 0x18]
mov dword [esp + 0x54], 0xdddadbb3
mov dword [esp + 0x58], 0xc9d9dadf
mov dword [esp + 0x5c], 0xccd0d2d3
mov dword [esp + 0x60], 0xe6f29291
mov dword [esp + 0x64], 0x95abe8e3
mov dword [esp + 0x68], 0xe7ede2e9
mov dword [esp + 0x6c], 0xf9fea1f9
mov word [esp + 0x70], 0x6ffc
mov dword [esp + 0x72], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 0x93
xor cl, byte [esp + eax + 0x54]
add cl, 0x21
mov byte [esp + eax + 0x54], cl
inc eax
cmp eax, 0x22
jne 0x42b700
lea eax, [esp + 0x54]
mov ecx, dword [ebp + 8]
push edx
push dword [esp + 0x1c]
push eax
call fcn.0040d680
mov ebx, eax
jmp dword [0x44de90]
push dword [esp + 0x18]
call fcn.0040cb20
add esp, 4
and bl, 1
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
test edi, edi
je case.0x42b14b.0
cmp edi, esi
je case.0x42b14b.0
push edi
call fcn.0040cb20
add esp, 4
lea ecx, [esp + 0x30]
call fcn.0043ee80
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42b950
sub eax, esi
cmp eax, 0xffffffd9
jge 0x42b969
mov eax, 0xffffffff
jmp 0x42b96c
add eax, 0x26
push eax
call fcn.0040cb10
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x7c], 0x89378b28
mov dword [ebp - 0x78], 0x85348739
mov dword [ebp - 0x74], 0x8135833e
mov dword [ebp - 0x70], 0x9d3a9f39
mov dword [ebp - 0x6c], 0x992b9b21
mov dword [ebp - 0x68], 0x952c972a
mov dword [ebp - 0x64], 0x912b9323
mov dword [ebp - 0x60], 0x6de46f62
mov dword [ebp - 0x5c], 0x69d06bd0
mov dword [ebp - 0x58], 0x6768
mov edx, 0xe3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebp + edx - 0x15f]
mov ebx, edi
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, edi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x91
mov byte [ebp + edx - 0x15f], al
inc edx
cmp edx, 0x10b
jne 0x42b9d0
movzx ecx, word [esi]
mov ebx, dword [ebp - 0x20]
mov eax, ebx
test cx, cx
je 0x42ba41
mov edx, esi
add edx, 2
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ba30
mov word [eax], 0
movzx ecx, word [ebp - 0x7c]
test cx, cx
lea edi, [ebp - 0x7c]
je 0x42ba71
lea edx, [ebp - 0x7a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ba60
mov word [eax], 0
jmp dword [0x44dea0]
push esi
call fcn.0040cb20
add esp, 4
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x44dea8]
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x44dea8]
jmp dword [0x44deb4]
mov dword [ebp - 0x7c], 0x13c07c9
mov dword [ebp - 0x78], 0xdef03e4
mov dword [ebp - 0x74], 0x9f80ffd
mov dword [ebp - 0x70], 0x15e10be6
mov dword [ebp - 0x6c], 0x11f217fd
mov dword [ebp - 0x68], 0x1de313fd
mov dword [ebp - 0x64], 0x19f01fea
mov dword [ebp - 0x60], 0x25f31bf3
mov dword [ebp - 0x5c], 0x21d82712
mov dword [ebp - 0x58], 0x2dcc23cc
mov word [ebp - 0x54], 0x2f2c
mov dword [ebp - 0x52], 0
mov word [ebp - 0x4e], 0
jmp dword [0x44deb8]
mov dword [ebp - 0x7c], 0x13c07c9
mov dword [ebp - 0x78], 0xdef03e4
mov dword [ebp - 0x74], 0x9f80ffd
mov dword [ebp - 0x70], 0x15e10be6
mov dword [ebp - 0x6c], 0x11f217fd
mov dword [ebp - 0x68], 0x1de313fd
mov dword [ebp - 0x64], 0x19f01fea
mov dword [ebp - 0x60], 0x25f31bf3
mov word [ebp - 0x5c], 0x2712
mov byte [ebp - 0x5a], 0xd8
mov dword [ebp - 0x7c], 0x13c07c9
mov dword [ebp - 0x78], 0xdef03e4
mov dword [ebp - 0x74], 0x9f80ffd
mov dword [ebp - 0x70], 0x15e10be6
mov dword [ebp - 0x6c], 0x11f217fd
mov dword [ebp - 0x68], 0x1de313fd
mov dword [ebp - 0x64], 0x19f01fea
mov dword [ebp - 0x60], 0x25f31bf3
mov dword [ebp - 0x5c], 0x21d82712
mov dword [ebp - 0x58], 0x2dcc23cc
mov word [ebp - 0x54], 0x2f2c
mov dword [ebp - 0x52], 0
mov word [ebp - 0x4e], 0
jmp dword [0x44deb8]
xor eax, eax
cmp eax, 0x2f
ja 0x42bc3d
nop
nop
nop
nop
movzx ecx, byte [ebp + eax - 0x7c]
lea esi, [eax + 0x6f4d7041]
mov ebx, esi
xor ebx, ecx
lea edx, [ebx + ebx]
not edx
add edx, ebx
and edx, esi
mov ebx, edx
or ebx, 0xfffffffd
inc ebx
mov esi, edx
and esi, 0x6f4d70fd
imul esi, ebx
mov ebx, edx
and ebx, 2
or edx, 2
imul edx, ebx
sub esi, edx
add ecx, eax
add ecx, 0x6f4d7041
add ecx, esi
mov edx, ecx
and edx, 0xd37cceb8
mov esi, ecx
and esi, 2
mov ebx, esi
xor ebx, 2
imul ebx, edx
or edx, 2
imul edx, esi
mov esi, ecx
xor esi, 0xba
add esi, ebx
mov ebx, dword [ebp - 0x20]
add esi, edx
and ecx, 1
xor esi, 1
lea ecx, [esi + ecx*2]
mov byte [ebp + eax - 0x7c], cl
inc eax
cmp eax, 0x2f
jbe 0x42bbc0
push 0
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
lea eax, [ebp - 0xec]
push eax
push ebx
call fcn.00445090
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44dec0]
xor esi, esi
xor ebx, ebx
jmp dword [0x44df20]
push dword [ebp - 0x20]
call fcn.0040cb20
add esp, 4
xor eax, eax
cmp esi, ebx
sete al
mov ecx, ebx
jmp dword [eax*4 + 0x44df28]
xor eax, eax
jmp dword [0x44e034]
lea eax, [ebp - 0x90]
push 0
push eax
push dword [ebp - 0xec]
call fcn.00445390
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x44dec8]
mov esi, dword [ebp - 0x90]
lea eax, [esi + 1]
push eax
call fcn.0040cb10
add esp, 4
push 0
push esi
mov dword [ebp - 0x88], eax
push eax
push dword [ebp - 0xec]
call fcn.00445450
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x44ded0]
mov esi, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x88]
mov byte [ebx + esi], 0
push 0x20
call fcn.0040cb10
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [ebp - 0x84], eax
mov ecx, eax
push esi
push ebx
call fcn.0042e4b0
movzx eax, al
xor ebx, ebx
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x44ded8]
mov dword [ebp - 0x7c], 0xa5a8be99
mov dword [ebp - 0x78], 0xb2a0b0a9
mov dword [ebp - 0x74], 0xb5b581e5
mov dword [ebp - 0x70], 0x88ebbcae
mov dword [ebp - 0x6c], 0x8ebdb8a8
mov dword [ebp - 0x68], 0x8087a0d1
mov dword [ebp - 0x64], 0x9d889095
mov word [ebp - 0x60], 0xeb9d
mov dword [ebp - 0x5e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x4d
xor cl, byte [ebp + eax - 0x7c]
add cl, 0x7f
mov byte [ebp + eax - 0x7c], cl
inc eax
cmp eax, 0x22
jne case.default.0x42bde2
mov ecx, dword [ebp - 0x84]
push edi
call fcn.0042e6a0
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov dword [ebp - 0x14], 0
jmp dword [ecx*4 + 0x44dee0]
mov esi, dword [ebp - 0x84]
jmp dword [0x44df00]
jmp dword [0x44df08]
add eax, 8
xor edx, edx
xor ebx, ebx
xor esi, esi
jmp 0x42be29
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
mov dword [esi + eax + 4], ecx
mov ebx, dword [ebp - 0x24]
add ebx, 8
mov eax, dword [ebp - 0x80]
add eax, 4
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], esi
mov eax, dword [eax]
mov ecx, dword [case.0x42bde2.3]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44def8]
mov dword [ebp - 0x80], eax
mov ecx, dword [eax]
mov esi, ebx
mov edi, dword [ebp - 0x14]
sub esi, edi
cmp ebx, edx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x28], ecx
jne 0x42bede
mov ebx, edx
mov eax, edx
sub eax, edi
sar eax, 3
mov ecx, esi
mov esi, eax
shr esi, 1
add esi, eax
mov eax, ecx
sar eax, 3
inc eax
cmp esi, eax
ja 0x42be83
mov esi, eax
lea eax, [esi*8]
push eax
call fcn.0040cb10
add esp, 4
test edi, edi
je 0x42becf
cmp edi, ebx
je 0x42bec2
xor edx, edx
nop
nop
nop
mov ecx, dword [edi + edx]
mov dword [eax + edx], ecx
mov ecx, dword [edi + edx + 4]
mov dword [eax + edx + 4], ecx
mov dword [edi + edx], 0
lea ecx, [edi + edx]
add ecx, 8
add edx, 8
cmp ecx, ebx
jne 0x42bea0
push edi
mov edi, eax
call fcn.0040cb20
mov eax, edi
add esp, 4
mov edi, eax
lea edx, [eax + esi*8]
mov ebx, eax
mov esi, dword [ebp - 0x1c]
add ebx, esi
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], edx
mov dword [edi + esi], 0
mov dword [ebp - 0x14], edi
mov dword [edi + esi + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + eax], 0
lea eax, [eax + 1]
jne 0x42bf00
push eax
mov dword [ebp - 0x10], eax
mov ebx, ecx
call fcn.0040cb10
add esp, 4
mov ecx, dword [ebp - 0x14]
mov dword [ecx + esi], eax
mov ecx, dword [ebp - 0x10]
shr ecx, 2
mov edx, ebx
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [ebp - 0x10]
and edx, 0xfffffffc
add eax, edx
add edx, ebx
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov ecx, ebx
inc cl
test cl, 1
jne 0x42bf6c
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
xor ecx, ecx
cmp ebx, 1
je 0x42be10
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x28]
movzx edi, byte [edx + eax - 1]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov esi, edx
shr esi, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, esi
mov ebx, edi
shl ebx, 0x1d
sar ebx, 0x1f
and ebx, 0x76dc419
mov esi, edi
shl esi, 0x1c
sar esi, 0x1f
and esi, 0xedb8832
xor esi, ebx
mov ebx, edi
shl ebx, 0x1b
sar ebx, 0x1f
and ebx, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, ebx
xor edi, esi
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp dword [ebp - 0x10], eax
jne 0x42bf80
not ecx
jmp 0x42be10
and al, 1
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
jmp dword [0x44e034]
not eax
shr eax, 0x1f
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
jmp dword [eax*4 + 0x44df50]
mov esi, dword [ebp - 0xa0]
mov byte [edi + esi], 0
push 0x20
call fcn.0040cb10
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [ebp - 0x80], eax
mov ecx, eax
push esi
push edi
call fcn.0042e4b0
movzx eax, al
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
lea esi, [ebp - 0x7c]
jmp dword [eax*4 + 0x44df58]
jmp dword [0x44df60]
mov dword [ebp - 0x7c], 0x9d809af1
mov dword [ebp - 0x78], 0x86988891
mov dword [ebp - 0x74], 0x9d95e9dd
mov dword [ebp - 0x70], 0xe0c79c8a
mov dword [ebp - 0x6c], 0x8a9d9080
mov dword [ebp - 0x68], 0x8f8ffac9
mov dword [ebp - 0x64], 0xb5a7a88e
mov dword [ebp - 0x60], 0xada3a0c5
mov dword [ebp - 0x5c], 0xbaf
mov eax, 0x5dccae47
movzx ecx, byte [ebp + eax - 0x5dccaec3]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x9d
mov byte [ebp + eax - 0x5dccaec3], cl
inc eax
cmp eax, 0x5dccae6b
jne 0x42c0f0
mov ecx, dword [ebp - 0x80]
push esi
call fcn.0042e6a0
mov dword [ebp - 0x7c], 0x9d809af1
mov dword [ebp - 0x78], 0x86988891
mov dword [ebp - 0x74], 0x9d95e9dd
mov dword [ebp - 0x70], 0xe0c79c8a
mov dword [ebp - 0x6c], 0x8a9d9080
mov dword [ebp - 0x68], 0x8f8ffac9
mov dword [ebp - 0x64], 0xb5a7a88e
mov dword [ebp - 0x60], 0xada3a0c5
mov dword [ebp - 0x5c], 0xbaf
mov eax, 0x5dccae47
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [ebp + eax - 0x5dccaec3]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x9d
mov byte [ebp + eax - 0x5dccaec3], cl
inc eax
cmp eax, 0x5dccae6b
jne 0x42c170
mov ecx, dword [ebp - 0x80]
push esi
call fcn.0042e6a0
jmp dword [0x44df68]
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
jmp dword [ecx*4 + 0x44df70]
mov ecx, dword [ebp - 0x10]
jmp dword [0x44dff8]
mov esi, dword [ebp - 0x80]
mov ecx, esi
call fcn.0042e820
push esi
call fcn.0040cb20
add esp, 4
mov ecx, dword [ebp - 0x10]
mov eax, dword [case.0x42b24d.137]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [ebp - 0x10], ecx
jmp dword [0x44e010]
push edi
call fcn.0040cb20
add esp, 4
jmp case.0x42bde2.21
add eax, 8
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x94], edi
jmp dword [eax*4 + 0x44df78]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44df78]
mov esi, dword [edx]
cmp dword [edx + 0x18], 3
jne case.default.0x42c25d
mov ebx, dword [edx + 0x10]
test esi, esi
setne al
test ebx, ebx
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44df80]
test esi, esi
setne al
xor ecx, ecx
test ecx, ecx
setne cl
and cl, al
movzx eax, cl
xor ebx, ebx
jmp dword [eax*4 + 0x44df80]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x84], edx
mov eax, ebx
mov edi, ebx
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42c2bf
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [ebp - 0xa8], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cb10
add esp, 4
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [ebp - 0xa4], eax
jmp dword [edx*4 + 0x44df88]
mov byte [eax], cl
inc eax
movsx ecx, byte [edi]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x44df88]
mov dword [ebp - 0x28], edi
inc edi
mov esi, ecx
or esi, 0x20
lea ebx, [esi - 0x61]
cmp ebx, 5
ja case.default.0x42c30b
xor esi, 0xffffff9e
and ecx, 0xffffff9e
lea ecx, [esi + ecx*2]
add ecx, 0xb
movsx ebx, byte [edi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x44df90]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x42c337
mov ecx, 0xffffffff
movsx ebx, byte [edi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x44df90]
shl ecx, 4
mov edi, dword [ebp - 0x28]
add edi, 2
mov edx, ebx
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 5
ja case.default.0x42c36f
xor edx, 0xffffff9e
and ebx, 0xffffff9e
lea edx, [edx + ebx*2]
add edx, 0xb
or edx, ecx
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44df88]
add ebx, 0xffffffd0
cmp ebx, 0xa
jb case.default.0x42c39c
mov ebx, 0xffffffff
or ebx, ecx
mov byte [eax], bl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44df88]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [ebp - 0x20]
call fcn.0042e8c0
add esp, 0x10
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], edx
xor edx, edx
mov ecx, dword [case.0x42b24d.119]
xor ebx, ebx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
setne bl
jmp dword [ebx*4 + 0x44df98]
jmp dword [0x44dfa8]
mov edx, dword [eax]
xor esi, esi
jmp dword [esi*4 + 0x44dfc8]
add eax, 8
xor ebx, ebx
cmp eax, dword [ebp - 0x24]
setne bl
jmp dword [ebx*4 + 0x44df98]
mov edi, dword [eax + 4]
mov esi, edi
shl edi, 4
mov ebx, edi
xor ebx, 0xfffffff0
xor edi, 0xfffffffe
or edi, ebx
shr esi, 0x1c
xor esi, dword [ebp - 0x20]
xor edi, dword [ebp - 0x28]
not esi
and esi, edi
xor ebx, ebx
cmp esi, 0xffffffff
sete bl
jmp dword [ebx*4 + 0x44dfb0]
jmp ecx
mov esi, 1
jmp dword [esi*4 + 0x44dfc8]
xor eax, eax
test edx, edx
setne al
mov edi, dword [ebp - 0x94]
jmp dword [eax*4 + 0x44dfd0]
jmp dword [0x44dfe0]
push dword [ebp - 0xa4]
call fcn.0040cb20
add esp, 4
mov eax, dword [case.0x42c277.0]
mov edx, dword [ebp - 0x84]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x78], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
cmp byte [edx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42c504
mov esi, dword [ebp - 0xac]
mov dword [esi], eax
mov dword [esi + 4], edx
mov edi, dword [ebp - 0x98]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x31f26afb
push dword [0x452170]
mov ebx, edx
call fcn.00444690
add esp, 8
push edi
push 1
push 0
push 0
push esi
push 0
lea ecx, [ebp - 0x7c]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44dfd8]
mov edi, dword [ebp - 0x94]
jmp dword [0x44dfe0]
movzx eax, byte [ebx]
test al, al
je 0x42c53d
inc ebx
mov edi, dword [ebp - 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x42c530
jmp 0x42c540
mov edi, dword [ebp - 0x18]
mov byte [edi], 0
mov byte [edi], 0x3a
mov byte [edi + 1], 0x20
add edi, 2
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x42c5d9
mov eax, dword [eax + 4]
mov ecx, edx
and ecx, 3
je 0x42c58b
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], bl
inc esi
cmp ecx, esi
jne 0x42c570
add edi, esi
mov ecx, edx
sub ecx, esi
mov esi, edi
jmp 0x42c58f
mov esi, edi
mov ecx, edx
cmp edx, 4
jb 0x42c5d9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea edi, [esi + 4]
mov byte [esi + 3], dl
mov esi, edi
add ecx, 0xfffffffc
jne 0x42c5a0
mov byte [edi], 0xa
inc edi
push 0xd80d2c4a
push dword [0x452158]
call fcn.00444690
add esp, 8
mov ecx, dword [ebp - 0x98]
push dword [ecx + 4]
call eax
mov al, 1
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x94]
jmp dword [0x44dfe0]
push dword [ebp - 0x88]
call fcn.0040cb20
add esp, 4
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x7c], 0xf4f5f6f7
mov ecx, 0x31ace4ac
nop
movzx edx, byte [ebp + ecx - 0x31ace528]
xor edx, ecx
add edx, 0x465510de
mov esi, edx
and esi, 0x23
xor edx, 0xa3
lea edx, [edx + esi*2]
add dl, 0x23
mov byte [ebp + ecx - 0x31ace528], dl
inc ecx
cmp ecx, 0x31ace4b0
jne 0x42c630
mov ecx, dword [0x452164]
test ecx, ecx
je 0x42c69c
mov edx, dword [ebp - 0x7c]
xor esi, esi
mov edi, dword [0x452168]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42c690
inc esi
cmp ecx, esi
jne 0x42c680
jmp 0x42c69c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42c986
mov esi, dword [ebp - 0x14]
jmp dword [0x44df20]
xor eax, eax
cmp esi, ebx
sete al
mov ecx, ebx
jmp dword [eax*4 + 0x44df28]
mov dword [ebp - 0x24], ecx
mov eax, ecx
mov dword [ebp - 0x14], esi
sub eax, esi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040cb10
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x7c], 0xb1c28fab
mov dword [ebp - 0x78], 0xb5d7b321
mov dword [ebp - 0x74], 0xb9dab7d7
mov dword [ebp - 0x70], 0xbd2abbfb
mov dword [ebp - 0x6c], 0xa1fabf2c
mov dword [ebp - 0x68], 0xa536a3c3
mov dword [ebp - 0x64], 0xa981a7c7
mov dword [ebp - 0x60], 0xaddfabd4
mov dword [ebp - 0x5c], 0xd1c9af38
mov dword [ebp - 0x58], 0xd5bdd3b3
mov dword [ebp - 0x54], 0xd9bad7a8
mov dword [ebp - 0x50], 0xddbfdb49
mov dword [ebp - 0x4c], 0xc1b2dfbf
mov dword [ebp - 0x48], 0xc554c3ee
mov dword [ebp - 0x44], 0xc9a0c7a0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0xcbc8
mov byte [ebp - 0x3c], 0
xor ecx, ecx
xor edx, edx
nop
movzx esi, byte [ebp + edx - 0x7c]
mov edi, ecx
and edi, 0x3a
mov ebx, edx
xor ebx, 0x460e599d
add ebx, edi
xor ebx, esi
mov esi, ebx
and esi, 1
xor ebx, 1
add ebx, 0xee
or ebx, esi
add ebx, esi
mov byte [ebp + edx - 0x7c], bl
inc edx
add ecx, 2
cmp edx, 0x41
jne 0x42c750
lea edx, [ebp - 0x7c]
mov ecx, 0xf
lea esi, [ebp - 0xec]
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebp - 0xb0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [ebp - 0x90]
push edi
push 0
push 0
push 0x1e
push esi
push 0
call dword [0x452160]
mov esi, dword [ebp - 0x90]
test esi, esi
jns 0x42c7d2
mov eax, 0xffffffff
jmp 0x42c7d5
lea eax, [esi + esi]
push eax
call fcn.0040cb10
add esp, 4
mov ebx, eax
push edi
push esi
push eax
push 0x1e
lea eax, [ebp - 0xec]
push eax
push 0
call dword [0x452160]
lea eax, [ebp - 0x8c]
push 0x60
push 3
push 0x120089
push eax
mov dword [ebp - 0x88], ebx
push ebx
call fcn.00445090
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44df30]
xor ebx, ebx
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x9c]
jmp dword [0x44e018]
push dword [ebp - 0x88]
call fcn.0040cb20
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x44e020]
mov byte [edi], 0
mov dword [esi], 0x757677a7
mov dword [esi + 4], 0x51417e7b
mov dword [esi + 8], 0x54484e47
mov dword [esi + 0xc], 0x4a567689
mov dword [esi + 0x10], 0x7d874077
mov dword [esi + 0x14], 0x5b4d4641
mov dword [esi + 0x18], 0x41429941
mov word [esi + 0x1c], 0xcb44
mov dword [esi + 0x1e], 0
mov byte [esi + 0x22], 0
mov eax, 0x6df702d9
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax - 0x6df702d9]
xor ecx, eax
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add cl, 0xc2
mov byte [esi + eax - 0x6df702d9], cl
inc eax
cmp eax, 0x6df702fc
jne 0x42c8a0
mov eax, dword [ebp - 0x1c]
sub edi, eax
mov ecx, dword [ebp + 8]
push edi
push eax
push esi
call fcn.0040d680
jmp dword [0x44e028]
lea eax, [ebp - 0xa0]
push 0
push eax
push dword [ebp - 0x8c]
call fcn.00445390
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
jmp dword [eax*4 + 0x44df38]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x7c], 0xf4f5f6f7
mov ecx, 0x31ace4ac
nop
movzx edx, byte [ebp + ecx - 0x31ace528]
xor edx, ecx
add edx, 0x465510de
mov esi, edx
and esi, 0x23
xor edx, 0xa3
lea edx, [edx + esi*2]
add dl, 0x23
mov byte [ebp + ecx - 0x31ace528], dl
inc ecx
cmp ecx, 0x31ace4b0
jne 0x42c920
mov ecx, dword [0x452164]
test ecx, ecx
je 0x42c9ad
mov edx, dword [ebp - 0x7c]
xor esi, esi
mov edi, dword [0x452168]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42c9a1
inc esi
cmp ecx, esi
jne 0x42c970
jmp 0x42c9ad
jmp dword [0x44df40]
push eax
push 1
push dword [0x45216c]
push ecx
call fcn.00442160
add esp, 0x10
mov esi, dword [ebp - 0x14]
jmp dword [0x44df20]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42ca94
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
jmp dword [0x44e018]
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x44e020]
jmp dword [0x44e028]
push dword [ebp - 0x1c]
mov esi, eax
call fcn.0040cb20
mov eax, esi
add esp, 4
and al, 1
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
jmp dword [0x44e034]
test esi, esi
je case.0x42b24d.148
cmp esi, ecx
je case.0x42b24d.148
mov dword [ebp - 0x10], eax
mov edi, esi
jmp 0x42ca17
add esi, 8
cmp esi, ecx
je 0x42ca2c
mov eax, dword [esi]
test eax, eax
je 0x42ca10
push eax
mov ebx, ecx
call fcn.0040cb20
mov ecx, ebx
add esp, 4
jmp 0x42ca10
push edi
call fcn.0040cb20
add esp, 4
xor ecx, ecx
xor esi, esi
mov eax, dword [ebp - 0x10]
jmp case.0x42b24d.148
push ebx
call fcn.0040cb20
add esp, 4
xor ecx, ecx
xor esi, esi
mov eax, dword [ebp - 0x10]
jmp dword [0x44e03c]
test esi, esi
je 0x42ca50
cmp esi, ecx
je 0x42ca50
mov dword [ebp - 0x10], eax
mov ebx, esi
jmp 0x42ca77
add esi, 8
cmp esi, ecx
je 0x42ca40
mov eax, dword [esi]
test eax, eax
je 0x42ca70
push eax
mov edi, ecx
call fcn.0040cb20
mov ecx, edi
add esp, 4
jmp 0x42ca70
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push dword [0x45216c]
push ecx
call fcn.00442160
add esp, 0x10
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
jmp dword [0x44e018]
jmp dword [0x44df18]
mov esi, dword [ebp - 0xa0]
lea eax, [esi + 1]
push eax
call fcn.0040cb10
add esp, 4
push 0
push esi
push eax
push dword [ebp - 0x8c]
call fcn.00445450
add esp, 0x10
mov esi, dword [ebp - 0xa0]
lea eax, [esi + 1]
push eax
call fcn.0040cb10
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [ebp - 0x8c]
call fcn.00445450
add esp, 0x10
jmp dword [0x44df48]
mov ecx, esi
call fcn.0042e820
push esi
call fcn.0040cb20
add esp, 4
mov ecx, esi
call fcn.0042e820
push esi
call fcn.0040cb20
add esp, 4
jmp dword [0x44df14]
jmp dword [0x44e058]
push dword [ebp - 0x68]
call fcn.0040cb20
add esp, 4
mov eax, dword [case.0x42b24d.158]
jmp eax
mov eax, dword [case.0x42b24d.229]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [ebp - 0x5c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0xa0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44e050]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp + ecx - 0xac]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42ced0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x90], eax
mov edx, eax
sar edx, 1
mov eax, dword [ebp - 0x80]
lea ecx, [edx + eax]
mov dword [ebp - 0x6c], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42cf06
mov eax, 0xffffffff
push eax
call fcn.0040cb10
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x68]
movzx ecx, word [eax]
mov dword [ebp - 0x74], edx
mov eax, edx
test cx, cx
je 0x42cf41
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x74]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42cf30
mov word [eax], 0x5c
mov dword [ebp - 0x38], 0x1762197c
mov dword [ebp - 0x34], 0x138d1587
mov dword [ebp - 0x30], 0xf9a1171
mov dword [ebp - 0x2c], 0xb650d2c
mov dword [ebp - 0x28], 0x7670984
mov dword [ebp - 0x24], 0x39f0588
mov word [ebp - 0x20], 0x100
lea ecx, [ebp - 0x1e]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0x86
mov edx, 0x79
nop
movzx esi, byte [ebp + ecx - 0xbe]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add bl, 0x62
mov byte [ebp + ecx - 0xbe], bl
inc ecx
dec edx
cmp ecx, 0xa6
jne 0x42cf90
add eax, 2
mov edx, dword [ebp - 0x40]
movzx ecx, word [edx]
test cx, cx
je 0x42cff0
add edx, 2
mov ebx, dword [ebp - 0x4c]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42cfd0
jmp 0x42cff3
mov ebx, dword [ebp - 0x4c]
mov word [eax], 0
movzx ecx, word [ebp - 0x38]
test cx, cx
je 0x42d021
lea edx, [ebp - 0x36]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42d010
mov word [eax], 0
lea eax, [ebp - 0x48]
push 0x60
push 3
push 0x120089
push eax
push dword [ebp - 0x74]
call fcn.00445090
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [ebp - 0x10], 0
jmp dword [eax*4 + 0x44e060]
jmp dword [0x44e068]
lea eax, [ebp - 0x7c]
push 0
push eax
push dword [ebp - 0x48]
call fcn.00445390
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp - 0x7c]
push 0
push eax
push dword [ebp - 0x48]
call fcn.00445390
add esp, 0xc
jmp dword [0x44e070]
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x44e078]
mov esi, dword [ebp - 0x7c]
lea eax, [esi + 1]
push eax
call fcn.0040cb10
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [ebp - 0x48]
call fcn.00445450
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x44e080]
mov eax, dword [ebp - 0x7c]
mov byte [edi + eax], 0
push edi
call fcn.00403dc0
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x70], eax
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x44e098]
jmp dword [0x44e0d8]
mov dword [ebp - 0x10], edx
push edi
call fcn.0040cb20
add esp, 4
jmp dword [0x44e0e4]
mov dword [ebp - 0x88], edi
jmp dword [0x44e0a4]
push dword [ebp - 0x70]
call fcn.00404890
add esp, 4
mov dword [ebp - 0x38], 0x205d322f
mov dword [ebp - 0x34], 0x33363c36
mov dword [ebp - 0x30], 0x28242c66
mov dword [ebp - 0x2c], 0x3b3e343e
mov dword [ebp - 0x28], 0x384d3535
mov word [ebp - 0x24], 0x2c31
mov byte [ebp - 0x22], 0x96
lea ecx, [ebp - 0x1e]
mov byte [ecx + 1], 0
mov dword [ecx - 3], 0
xor ecx, ecx
mov edx, 0x9f
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x90
mov edi, ecx
xor edi, 0xd0
mov ebx, ecx
or ebx, 0x4f
and ebx, edi
add ebx, esi
xor bl, byte [ebp + ecx - 0x38]
xor bl, 0xb0
add bl, 0x20
mov byte [ebp + ecx - 0x38], bl
inc ecx
dec edx
cmp ecx, 0x1c
jne 0x42d160
lea ecx, [ebp - 0x38]
push ecx
push eax
call fcn.00404c50
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42d1b0
shr ecx, 2
mov esi, edx
mov dword [ebp - 0x14], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x42d1d4
cmp edx, 0x2e
jne 0x42d1d5
dec ecx
mov edx, dword [ebp - 0x14]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [ebp - 0x3c], eax
je 0x42d1ea
cmp edx, 0x2e
jne 0x42d1eb
dec ecx
mov dword [ebp - 0x78], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cb10
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], 0
je 0x42d2ed
xor edx, edx
mov esi, 2
jmp 0x42d230
mov edx, dword [ebp - 0x44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
jae 0x42d2ed
mov dword [ebp - 0x10], edx
mov edi, dword [ebp - 0x3c]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00421f80
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00421f80
mov ecx, dword [ebp - 0x14]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
mov byte [edx + edi], al
lea edx, [edi + 1]
cmp esi, ecx
jae 0x42d220
mov eax, dword [ebp - 0x3c]
movzx eax, byte [eax + esi]
push eax
mov edi, edx
call fcn.00421f80
mov edx, edi
mov ecx, dword [ebp - 0x14]
add esp, 4
cmp al, 0x40
je 0x42d220
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [ebp - 0x10]
lea edx, [edi + 2]
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x18]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x42d210
mov eax, dword [ebp - 0x3c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00421f80
mov ecx, dword [ebp - 0x14]
add esp, 4
cmp al, 0x40
mov edx, dword [ebp - 0x44]
je 0x42d220
shl bl, 6
add al, bl
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
mov byte [edx + edi + 2], al
add edi, 3
mov edx, edi
jmp 0x42d220
mov eax, dword [ebp - 0x78]
add eax, 0xfffffffb
mov esi, dword [ebp - 0x94]
mov dword [esi], eax
mov eax, dword [ebp - 0x18]
add eax, 5
mov dword [esi + 4], eax
mov edi, dword [ebp - 0x50]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x31f26afb
push dword [0x452170]
call fcn.00444690
add esp, 8
push edi
push 0
push 0
push 0
push 0
push 0
push esi
call eax
jmp case.0x42b24d.176
mov eax, dword [ebp - 0x78]
add eax, 0xfffffffb
mov esi, dword [ebp - 0x94]
mov dword [esi], eax
mov eax, dword [ebp - 0x18]
add eax, 5
mov dword [esi + 4], eax
mov edi, dword [ebp - 0x50]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x31f26afb
push dword [0x452170]
call fcn.00444690
add esp, 8
push edi
push 0
push 0
push 0
push 0
push 0
push esi
call eax
jmp dword [0x44e0a8]
push dword [ebp - 0x70]
call fcn.00404890
add esp, 4
mov dword [ebp - 0x38], 0x205d322f
mov dword [ebp - 0x34], 0x33363c36
mov dword [ebp - 0x30], 0x28242c66
mov dword [ebp - 0x2c], 0x3b3e343e
mov dword [ebp - 0x28], 0x384d3535
mov word [ebp - 0x24], 0x2c31
mov byte [ebp - 0x22], 0x96
lea ecx, [ebp - 0x1e]
mov byte [ecx + 1], 0
mov dword [ecx - 3], 0
xor ecx, ecx
mov edx, 0x9f
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x90
mov edi, ecx
xor edi, 0xd0
mov ebx, ecx
or ebx, 0x4f
and ebx, edi
add ebx, esi
xor bl, byte [ebp + ecx - 0x38]
xor bl, 0xb0
add bl, 0x20
mov byte [ebp + ecx - 0x38], bl
inc ecx
dec edx
cmp ecx, 0x1c
jne 0x42d3e0
lea ecx, [ebp - 0x38]
push ecx
push eax
call fcn.00404c50
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42d430
shr ecx, 2
mov esi, edx
mov dword [ebp - 0x14], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x42d454
cmp edx, 0x2e
jne 0x42d455
dec ecx
mov edx, dword [ebp - 0x14]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [ebp - 0x3c], eax
je 0x42d46a
cmp edx, 0x2e
jne 0x42d46b
dec ecx
mov dword [ebp - 0x78], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cb10
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], 0
je 0x42d340
xor ecx, ecx
mov esi, 2
jmp 0x42d4b0
mov ecx, dword [ebp - 0x44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42d340
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0x3c]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00421f80
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00421f80
mov edx, dword [ebp - 0x14]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
mov byte [ecx + edi], al
lea ecx, [edi + 1]
cmp esi, edx
jae 0x42d4a0
mov eax, dword [ebp - 0x3c]
movzx eax, byte [eax + esi]
push eax
mov edi, ecx
call fcn.00421f80
mov ecx, edi
mov edx, dword [ebp - 0x14]
add esp, 4
cmp al, 0x40
je 0x42d4a0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [ebp - 0x10]
lea ecx, [edi + 2]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x18]
mov byte [ecx + edi + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42d490
mov eax, dword [ebp - 0x3c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00421f80
mov edx, dword [ebp - 0x14]
add esp, 4
cmp al, 0x40
mov ecx, dword [ebp - 0x44]
je 0x42d4a0
shl bl, 6
add al, bl
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
mov byte [ecx + edi + 2], al
add edi, 3
mov ecx, edi
jmp 0x42d4a0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44e0b0]
mov dword [ebp - 0x10], 0
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x88]
jmp dword [0x44e0d0]
mov eax, dword [ebp - 0x90]
add eax, 0x10
cmp dword [ebp - 0x6c], 0xfffffff8
jge 0x42d5a5
mov eax, 0xffffffff
push eax
call fcn.0040cb10
add esp, 4
mov esi, eax
mov edx, dword [ebp - 0x60]
mov dword [edx], 0xb7da89db
mov dword [edx + 4], 0xb3e0b524
mov dword [edx + 8], 0xbf26b12c
mov dword [edx + 0xc], 0xbbbabd20
mov word [edx + 0x10], 0
mov eax, 0x9e
mov ecx, 0x61
nop
nop
movzx edi, byte [edx + eax - 0x9e]
mov edx, eax
xor edx, ecx
and edx, edi
xor edx, ecx
mov bl, 0xe9
sub bl, dl
mov edx, dword [ebp - 0x60]
mov byte [edx + eax - 0x9e], bl
inc eax
dec ecx
cmp eax, 0xb0
jne 0x42d5e0
mov eax, dword [ebp - 0x40]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x42d631
mov eax, dword [ebp - 0x40]
lea edx, [eax + 2]
mov eax, esi
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42d620
mov word [eax], 0
mov edi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x60]
movzx ecx, word [ecx]
test cx, cx
mov ebx, dword [ebp - 0x4c]
je 0x42d661
mov edx, dword [ebp - 0x84]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42d650
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x50]
push dword [eax]
push dword [eax + 4]
push esi
call fcn.0040d4c0
mov dword [ebp - 0x10], eax
jmp dword [0x44e0b8]
push esi
call fcn.0040cb20
add esp, 4
push 0xd80d2c4a
push dword [0x452158]
call fcn.00444690
add esp, 8
mov ecx, dword [ebp - 0x50]
push dword [ecx + 4]
call eax
jmp dword [0x44e0d0]
push dword [ebp - 0x18]
call fcn.0040cb20
add esp, 4
push dword [ebp - 0x70]
call fcn.00404e40
add esp, 4
mov edx, dword [ebp - 0x10]
jmp dword [0x44e0d8]
mov dword [ebp - 0x10], edx
jmp dword [0x44e0e4]
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d6f0
inc esi
cmp ecx, esi
jne 0x42d6e0
jmp case.0x42b24d.192
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x42b24d.192
push eax
push 1
push dword [0x45216c]
push ecx
call fcn.00442160
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], 0xf4f5f6f7
mov ecx, 0x31ace4ac
nop
movzx edx, byte [ebp + ecx - 0x31ace4e4]
xor edx, ecx
add edx, 0x465510de
mov esi, edx
and esi, 0x23
xor edx, 0xa3
lea edx, [edx + esi*2]
add dl, 0x23
mov byte [ebp + ecx - 0x31ace4e4], dl
inc ecx
cmp ecx, 0x31ace4b0
jne 0x42d720
mov ecx, dword [0x452164]
test ecx, ecx
je 0x42d790
mov edx, dword [ebp - 0x38]
xor esi, esi
mov edi, dword [0x452168]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d780
inc esi
cmp ecx, esi
jne 0x42d770
jmp 0x42d790
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42d8dc
nop
nop
nop
nop
jmp dword [0x44e0e8]
movzx esi, byte [ebp - 0x10]
jmp dword [0x44e0f0]
push dword [ebp - 0x74]
call fcn.0040cb20
add esp, 4
jmp dword [esi*4 + 0x44e0f8]
jmp dword [esi*4 + 0x44e0f8]
mov eax, dword [ebp - 0x80]
inc eax
mov ecx, eax
mov edx, dword [ebp - 0x6c]
and ecx, edx
xor eax, edx
lea edx, [eax + ecx*2]
lea ecx, [eax + ecx*2]
add ecx, 0x16
lea eax, [edx*2 + 0x2c]
test ecx, ecx
jns 0x42d7ed
mov eax, 0xffffffff
push eax
call fcn.0040cb10
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x68]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x42d821
mov edx, dword [ebp - 0x58]
mov eax, esi
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42d810
mov word [eax], 0x5c
mov dword [ebx], 0xf74209ac
mov dword [ebx + 4], 0xf35df567
mov dword [ebx + 8], 0xff6af151
mov dword [ebx + 0xc], 0xfb45fd1c
mov dword [ebx + 0x10], 0xe775f964
mov dword [ebx + 0x14], 0xe343e57a
mov dword [ebx + 0x18], 0xef43e14b
mov dword [ebx + 0x1c], 0xeb7eed48
mov dword [ebx + 0x20], 0xd74ce945
mov dword [ebx + 0x24], 0xd346d579
mov dword [ebx + 0x28], 0xdf70d17c
mov dword [ebx + 0x2c], 0xdddc
mov ecx, 0x7e
nop
nop
lea edx, [ecx - 0x60]
mov edi, ecx
and edi, 0xec
and edx, 0x13
or edx, edi
xor dl, byte [ebx + ecx - 0x7e]
add dl, 0x8a
mov byte [ebx + ecx - 0x7e], dl
inc ecx
cmp ecx, 0xae
jne 0x42d880
add eax, 2
mov edx, dword [ebp - 0x40]
movzx ecx, word [edx]
test cx, cx
je 0x42d8d1
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42d8c0
mov word [eax], 0
jmp dword [0x44e100]
push eax
push 1
push dword [0x45216c]
push ecx
call fcn.00442160
add esp, 0x10
jmp dword [0x44e0e8]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], 0xf4f5f6f7
mov ecx, 0x31ace4ac
nop
movzx edx, byte [ebp + ecx - 0x31ace4e4]
xor edx, ecx
add edx, 0x465510de
mov esi, edx
and esi, 0x23
xor edx, 0xa3
lea edx, [edx + esi*2]
add dl, 0x23
mov byte [ebp + ecx - 0x31ace4e4], dl
inc ecx
cmp ecx, 0x31ace4b0
jne 0x42d910
mov ecx, dword [0x452164]
test ecx, ecx
je case.0x42b24d.192
mov edx, dword [ebp - 0x38]
xor esi, esi
mov edi, dword [0x452168]
jmp 0x42d6e0
push edi
call fcn.0040cb20
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.0040cb20
add esp, 4
jmp dword [0x44e120]
movzx ecx, word [ebx]
mov edx, eax
test cx, cx
je 0x42d9a1
mov edi, dword [ebp - 0x64]
mov edx, eax
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x42d990
mov word [edx], 0
movzx ecx, word [ebx]
mov edx, eax
test cx, cx
je 0x42d9d1
mov edi, dword [ebp - 0x64]
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x42d9c0
mov word [edx], 0
jmp dword [0x44e10c]
mov eax, dword [ebp - 0x90]
add eax, 0x12
cmp dword [ebp - 0x6c], 0xfffffff7
jge 0x42d9f0
mov eax, 0xffffffff
push eax
call fcn.0040cb10
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], 0xd7a2c9fb
mov dword [eax + 4], 0xd3a8d5b9
mov dword [eax + 8], 0xdfaad1bd
mov dword [eax + 0xc], 0xdbb4ddb0
mov word [eax + 0x10], 0xd9d8
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
mov byte [eax + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
and ecx, 0xc
mov edx, eax
and edx, 2
mov ebx, edx
xor ebx, 2
imul ebx, ecx
or ecx, 2
imul ecx, edx
mov edx, eax
xor edx, 0x4e
add edx, ebx
mov ebx, dword [ebp - 0x98]
add edx, ecx
xor dl, byte [ebx + eax]
add dl, 0x7a
mov byte [ebx + eax], dl
inc eax
cmp eax, 0x17
jne 0x42da40
mov edx, dword [ebp - 0x40]
movzx ecx, word [edx]
mov eax, edi
test cx, cx
je 0x42daa1
add edx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42da90
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x42dad3
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x8c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42dac0
jmp 0x42dad9
mov ebx, dword [ebp - 0x8c]
mov word [eax], 0
mov dword [ebx], 0xb7b6895e
mov byte [ebx + 4], 0
mov eax, 0x55a6815e
nop
nop
nop
movzx ecx, byte [ebx + eax - 0x55a6815e]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x2a
mov byte [ebx + eax - 0x55a6815e], cl
inc eax
cmp eax, 0x55a68163
jne 0x42daf0
push 0
push 0
push 0xc00000
push ebx
push esi
push edi
push dword [ebp + 8]
call fcn.00424d40
add esp, 0x1c
mov ecx, dword [ebp - 0x5c]
and cl, 1
or cl, al
mov dword [ebp - 0x5c], ecx
jmp dword [0x44e110]
jmp dword [0x44e118]
jmp dword [0x44e128]
push esi
call fcn.0040cb20
add esp, 4
mov eax, dword [case.0x42b24d.197]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
int3
xor eax, eax
jmp dword [0x44e2c8]
lea eax, [esp + 0x6c]
push 0
push eax
push dword [esp + 0x24]
call fcn.00445390
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp], 0
jmp dword [eax*4 + 0x44e188]
mov esi, dword [esp + 0x6c]
lea eax, [esi + 1]
push eax
call fcn.0040cb10
add esp, 4
mov ebp, eax
push 0
push esi
push eax
push dword [esp + 0x28]
call fcn.00445450
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp], 0
jmp dword [eax*4 + 0x44e190]
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x6c]
mov byte [ebp + eax], 0
lea edi, [esp + 0x2b]
mov dword [esp], 0
mov dword [esp + 0x74], ebp
mov esi, ebp
jmp dword [0x44e198]
mov dword [esp + 0x20], 0xeee6e8ee
mov dword [esp + 0x24], 0xf2fb0cfa
mov word [esp + 0x28], 0x4b2d
mov byte [esp + 0x2a], 0x6a
mov byte [edi + 2], 0
mov word [edi], 0
mov eax, 0xc5bde56c
mov ecx, 0x93
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 0x3a421ab4]
mov edx, ecx
xor edx, eax
and edx, ebx
xor edx, eax
mov ebx, edx
not ebx
and ebx, 1
mov ebp, 0x1c
sub ebp, edx
and edx, 1
and ebp, 0xfe
or ebp, edx
xor ebp, 0xfe
lea edx, [ebx*2]
add edx, ebp
mov byte [esp + eax + 0x3a421ab4], dl
inc eax
dec ecx
cmp eax, 0xc5bde57a
jne 0x42ddd0
jmp case.0x42b24d.237
jmp dword [0x44e1a0]
mov dword [esp + 0x20], 0xeee6e8ee
mov dword [esp + 0x24], 0xf2fb0cfa
mov word [esp + 0x28], 0x4b2d
mov byte [esp + 0x2a], 0x6a
mov byte [edi + 2], 0
mov word [edi], 0
mov eax, 0xc5bde56c
mov ecx, 0x93
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 0x3a421ab4]
mov edx, ecx
xor edx, eax
and edx, ebx
xor edx, eax
mov ebx, edx
not ebx
and ebx, 1
mov ebp, 0x1c
sub ebp, edx
and edx, 1
and ebp, 0xfe
or ebp, edx
xor ebp, 0xfe
lea edx, [ebx*2]
add edx, ebp
mov byte [esp + eax + 0x3a421ab4], dl
inc eax
dec ecx
cmp eax, 0xc5bde57a
jne 0x42de60
movzx edx, byte [esp + 0x20]
mov ebp, esi
test dl, dl
je 0x42de20
lea eax, [esp + 0x20]
mov ecx, esi
mov ebp, esi
jmp 0x42dedb
movzx edx, byte [eax]
test dl, dl
je 0x42de20
mov dh, byte [ecx]
test dh, dh
je 0x42df00
inc ecx
inc eax
lea ebx, [ebp + 1]
cmp dh, dl
je 0x42deee
mov ebp, ebx
mov ecx, ebx
je 0x42ded0
lea eax, [esp + 0x20]
jmp 0x42ded0
xor ebp, ebp
jmp dword [0x44e1a0]
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x44e1a8]
lea esi, [ebp + 0xa]
movzx eax, byte [ebp + 0xa]
xor edx, edx
test al, al
je 0x42df41
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x42df3f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42df30
jmp 0x42df41
mov edx, ecx
mov ebx, edx
sub ebx, esi
xor eax, eax
cmp ebx, 5
setb al
jmp dword [eax*4 + 0x44e1b0]
jmp dword [0x44e1c0]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x44e1c8]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x44e1d0]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x44e1d8]
movzx eax, byte [edx - 4]
mov ecx, dword [case.0x42df4d.15]
jmp ecx
xor ecx, ecx
cmp al, 0x2e
setne cl
jmp dword [ecx*4 + 0x44e1f0]
mov dword [esp + 4], edx
mov ecx, dword [case.0x42df4d.25]
mov eax, ebx
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
lea edi, [ebx + ebx + 2]
jns case.0x42df4d.22
mov edi, 0xffffffff
push edi
mov ebx, ecx
call fcn.0040cb10
mov ecx, ebx
add esp, 4
jmp ebx
push dword [esp + 4]
push esi
push dword [esp + 0x1c]
push eax
mov ebx, eax
call fcn.0040edc0
add esp, 0x10
jmp dword [0x44e218]
lea eax, [esp + 8]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.00445090
add esp, 0x14
lea eax, [esp + 8]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.00445090
add esp, 0x14
jmp dword [0x44e224]
mov dword [esp + 0x10], ebx
not eax
shr eax, 0x1f
lea edi, [esp + 0x2b]
jmp dword [eax*4 + 0x44e228]
mov ebx, dword [esp + 4]
mov esi, ebx
jmp dword [0x44e278]
jmp dword [0x44e200]
jmp dword [0x44e198]
lea ebx, [esp + 0x68]
jmp dword [0x44e234]
push 0
push ebx
push dword [esp + 0x10]
call fcn.00445390
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push ebx
push dword [esp + 0x10]
call fcn.00445390
add esp, 0xc
jmp dword [0x44e238]
mov ebx, dword [esp + 0x68]
test eax, eax
setns al
cmp ebx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44e240]
mov eax, dword [case.0x42b24d.235]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x74]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44e2b0]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], 0xf4f5f6f7
mov ecx, 0x31ace4ac
nop
movzx edx, byte [esp + ecx - 0x31ace48c]
xor edx, ecx
add edx, 0x465510de
mov esi, edx
and esi, 0x23
xor edx, 0xa3
lea edx, [edx + esi*2]
add dl, 0x23
mov byte [esp + ecx - 0x31ace48c], dl
inc ecx
cmp ecx, 0x31ace4b0
jne 0x42e400
mov ecx, dword [0x452164]
test ecx, ecx
je 0x42e468
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x452168]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42e460
inc esi
cmp ecx, esi
jne 0x42e450
jmp 0x42e468
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42e473
mov eax, dword [esp]
and al, 1
jmp dword [0x44e2c8]
push eax
push 1
push dword [0x45216c]
push ecx
call fcn.00442160
add esp, 0x10
mov eax, dword [esp]
and al, 1
jmp dword [0x44e2c8]
mov cl, 0x42
add byte [eax - 0x49], bl
inc edx
add byte [eax - 0x49], bl
inc edx
add byte [esi - 0x4f], ch
inc edx
add byte [eax - 0x4e], ah
mov dl, 0x42
mov dl, 0x42
add byte [edx + 0x600042b6], bl
mov dl, 0x42
add byte [eax - 0x4e], ah
inc edx
add byte [edx + esi*4 + 0x42], bh
add byte [eax - 0x4e], ah
inc edx
add byte [eax - 0x2effbd4e], ch
mov dl, 0x42
add byte [edx - 0x56ffbd4e], bh
mov dh, 0x42
add byte [ebx], ah
mov bl, 0x42
add byte [edi], dh
mov bl, 0x42
add byte [eax], dh
mov bl, 0x42
add byte [eax], dh
mov bl, 0x42
add byte [eax], dh
mov bl, 0x42
add byte [edi], dh
mov bl, 0x42
add byte [eax - 0x4d], al
inc edx
add byte [eax - 0x4d], al
inc edx
add byte [edx - 0x4d], al
inc edx
add byte [eax - 0x4d], al
inc edx
add al, al
mov dl, 0x42
add byte [ecx - 0x4d], dl
inc edx
add byte [edx - 0x4a], dh
inc edx
add byte [edi + 0x720042b3], cl
mov dh, 0x42
add bl, al
mov bl, 0x42
add byte [ebx], dl
mov ch, 0x42
add byte [ecx], bl
mov ch, 0x42
add byte [edx - 0x74ffbd4a], al
mov dh, 0x42
add byte [ecx], bl
mov ch, 0x42
add byte [edx + 0x390042b6], al
mov ch, 0x42
add byte [ebp - 0x4b], al
inc edx
add byte [ebx - 0x4b], cl
inc edx
add byte [eax - 0x5fffbd4b], ah
mov ch, 0x42
add byte [edx], al
mov dh, 0x42
add byte [esi + esi*4], dl
inc edx
add byte [0x800042b6], bl
mov dh, 0x42
add byte [eax - 0x7fffbd4a], al
mov dh, 0x42
add al, al
mov dl, 0x42
add byte [eax], dh
mov bh, 0x42
add byte [edi + esi*4], bh
inc edx
add byte [esi - 0x47], al
inc edx
add byte [edx + ecx*8 - 0x4583ffbe], cl
inc edx
add byte [ebp + 0x470042ba], dl
mov esp, 0xbaa50042
inc edx
add byte [eax], dl
mov ebx, 0xbaab0042
inc edx
add byte [ecx + 0x100042bb], dh
mov ebx, 0xbc6c0042
inc edx
add byte [ecx + 0x1d0042bc], bl
mov byte [edx], 0xc5
mov esp, 0xcab80042
inc edx
add byte [edi*4 - 0x4216ffbe], al
inc edx
add byte [ecx - 0x43], ch
inc edx
add cl, ch
mov ebp, 0xbdfb0042
inc edx
add byte [eax - 0x42], al
inc edx
add byte [eax - 0x42], al
inc edx
add byte [edx - 0x42], al
inc edx
add byte [eax - 0x42], al
inc edx
add cl, ch
mov ebp, 0xbe500042
inc edx
add ch, dh
mov ebp, 0xcab80042
inc edx
add byte [esi], bl
retf