Function at 0x429222
Capabilities:
Encode data using xor

Disassembly:
push dword [esp + 4]
call fcn.00428790
add esp, 4
test al, al
je 0x428e40
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xdc
mov dword [esp + 0x9c], 0x77c479a1
mov dword [esp + 0xa0], 0x73fe75fb
mov dword [esp + 0xa4], 0x4ffa71d1
mov dword [esp + 0xa8], 0x4b9a4df8
mov dword [esp + 0xac], 0x47ca49e9
mov dword [esp + 0xb0], 0x434245fc
mov byte [esp + 0xb4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x9c]
lea edx, [eax + 0x96]
mov esi, 0x69
sub esi, eax
or edx, ecx
not ecx
or ecx, esi
and ecx, edx
add cl, 0x12
mov byte [esp + eax + 0x9c], cl
mov ecx, eax
and ecx, 1
or eax, 0xffffffe1
add eax, ecx
add eax, 0x20
cmp eax, 0x19
jb 0x428ea0
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 dword [esp + 0x64], 0x4544
xor ecx, ecx
mov eax, 0xffffffff
mov edx, eax
or edx, 0x8d734102
add edx, ecx
inc edx
mov esi, edx
and esi, 0xfd
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
xor edi, 2
imul edi, esi
mov ebx, ecx
xor ebx, 2
add ebx, edx
add ebx, edi
xor bl, byte [esp + ecx + 0x18]
add bl, 0xf6
mov byte [esp + ecx + 0x18], bl
lea edx, [ecx + 1]
dec eax
mov ecx, edx
cmp edx, 0x50
jne case.default.0x428fe1
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x18]
push eax
push ecx
call fcn.0043a700
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x448d18]
mov ecx, edi
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x428ff0
sub eax, edi
cmp eax, 0xffffffd9
jge 0x429010
mov eax, 0xffffffff
jmp 0x429013
xor eax, eax
jmp 0x429823
add eax, 0x26
push eax
call fcn.00408ac0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0x73117114
mov dword [esp + 0x1c], 0x6ff86dfb
mov dword [esp + 0x20], 0x6bf369f6
mov dword [esp + 0x24], 0x670265fb
mov dword [esp + 0x28], 0x63f56103
mov dword [esp + 0x2c], 0x9f009d0a
mov dword [esp + 0x30], 0x9b059901
mov dword [esp + 0x34], 0x971895c2
mov dword [esp + 0x38], 0x930c910c
mov dword [esp + 0x3c], 0x8d8c
mov byte [esp + 0x40], 0
mov ebx, 0x1c9f80ec
mov ecx, 0x13
nop
movzx esi, byte [esp + ebx - 0x1c9f80d4]
mov ebp, ecx
and ebp, esi
mov eax, ebx
xor eax, esi
mov edx, ebx
and edx, esi
add edx, ebp
add eax, esi
sub edx, eax
lea eax, [edx + edx]
and eax, 0x3a
xor edx, 0x62
sub edx, eax
add dl, 2
mov byte [esp + ebx - 0x1c9f80d4], dl
inc ebx
dec ecx
cmp ebx, 0x1c9f8115
jne 0x429080
movzx ecx, word [edi]
mov ebx, dword [esp + 0x10]
mov eax, ebx
test cx, cx
je 0x4290e1
mov edx, edi
add edx, 2
mov eax, ebx
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4290d0
mov word [eax], 0
movzx ecx, word [esp + 0x18]
test cx, cx
je 0x429111
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 0x429100
mov word [eax], 0
jmp dword [0x448d20]
push edi
call fcn.00408ad0
add esp, 4
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x448d28]
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x448d28]
mov dword [esp + 0x18], 0xc19cc789
mov dword [esp + 0x1c], 0xcdafc3a4
mov dword [esp + 0x20], 0xc958cf5d
mov dword [esp + 0x24], 0xf5a1cba6
mov dword [esp + 0x28], 0xf192f79d
mov dword [esp + 0x2c], 0xfd63f39d
mov dword [esp + 0x30], 0xf990ff6a
mov dword [esp + 0x34], 0xe593fb93
mov dword [esp + 0x38], 0xe178e7b2
mov dword [esp + 0x3c], 0xed8ce38c
mov word [esp + 0x40], 0xefec
mov dword [esp + 0x42], 0
mov word [esp + 0x46], 0
xor ecx, ecx
mov eax, ecx
nop
movzx esi, byte [esp + ecx + 0x18]
mov edx, 0xabfb7bae
sub edx, ecx
or edx, esi
mov edi, 0xae
sub edi, ecx
and edi, esi
not edx
or edx, edi
lea esi, [edx + 0x6a]
mov edi, 5
sub edi, edx
and edx, 1
and edi, 0xd
and esi, 0xf2
or esi, edi
xor esi, 0xc
lea edx, [esi + edx*2]
mov byte [esp + ecx + 0x18], dl
mov edx, ecx
xor eax, 1
add eax, ecx
and ecx, 1
and edx, 0x3e
sub eax, edx
add eax, ecx
mov ecx, eax
cmp eax, 0x30
jb 0x4291b0
push 0
lea eax, [esp + 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, dword [case.0x428fe1.3]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push 0x60
push 3
push 0x120089
lea eax, [esp + 0xa8]
push eax
push ebx
call fcn.00440bc0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x448d40]
xor esi, esi
xor ebp, ebp
jmp dword [0x448da0]
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0xa4]
call fcn.00440ef0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x448d48]
mov esi, dword [esp + 0x8c]
lea eax, [esi + 1]
push eax
call fcn.00408ac0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xa8]
call fcn.00440fc0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x448d50]
mov esi, dword [esp + 0x8c]
mov byte [edi + esi], 0
push 0x20
call fcn.00408ac0
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 + 0x68], eax
mov ecx, eax
push esi
mov dword [esp + 0x74], edi
push edi
call fcn.0042bd40
movzx eax, al
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x448d58]
mov dword [esp + 0x18], 0x2d202af1
mov dword [esp + 0x1c], 0x2628d831
mov dword [esp + 0x20], 0x2dd5d9ed
mov dword [esp + 0x24], 0xc0e72c3a
mov dword [esp + 0x28], 0x3acd3020
mov dword [esp + 0x2c], 0xc8cbe8f9
mov dword [esp + 0x30], 0x3530283d
mov dword [esp + 0x34], 0xa735
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x18]
mov edx, eax
and edx, 0x1d
mov esi, eax
and esi, 2
mov edi, eax
or edi, 2
imul edi, esi
xor esi, 2
imul esi, edx
mov edx, eax
xor edx, 0x4bdfb21f
add edx, edi
add edx, esi
xor edx, ecx
add edx, 0x360586c
mov ecx, edx
and ecx, 0x64
xor edx, 0x64
lea ecx, [edx + ecx*2]
add cl, 0x95
mov byte [esp + eax + 0x18], cl
inc eax
cmp eax, 0x20
jne case.default.0x4293c2
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x18]
push eax
call fcn.0042bf80
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
xor esi, esi
jmp dword [ecx*4 + 0x448d60]
jmp dword [0x448d70]
mov edi, dword [esp + 0x68]
mov ecx, edi
call fcn.0042c100
push edi
call fcn.00408ad0
add esp, 4
mov eax, dword [case.0x428fe1.13]
mov edi, dword [esp + 0x70]
nop
nop
nop
nop
jmp eax
jmp dword [0x448d88]
push edi
call fcn.00408ad0
add esp, 4
mov dword [esp + 4], ebp
mov ebp, esi
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], 0xb8bbba85
mov word [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xdf
xor dl, byte [esp + ecx + 0x18]
add dl, 0xa5
mov byte [esp + ecx + 0x18], dl
inc ecx
cmp ecx, 7
jne 0x429430
mov ecx, dword [0x44dd14]
test ecx, ecx
je 0x429486
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x44dd18]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x42947a
mov ebx, esi
and ebx, 1
xor esi, 1
lea esi, [esi + ebx*2]
cmp esi, ecx
jb 0x429460
jmp 0x429486
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42982e
mov esi, ebp
mov ebp, dword [esp + 4]
jmp dword [0x448da0]
push dword [esp + 0x10]
call fcn.00408ad0
add esp, 4
nop
nop
jmp dword [0x448db4]
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x448db8]
mov dword [esp + 8], esi
mov dword [esp + 0x18], 0x994e9bb7
mov dword [esp + 0x1c], 0xa54ba769
mov dword [esp + 0x20], 0xa156a34b
mov dword [esp + 0x24], 0xad5eaf6f
mov dword [esp + 0x28], 0xa966ab5c
mov dword [esp + 0x2c], 0xb54ab747
mov dword [esp + 0x30], 0xb199b35b
mov dword [esp + 0x34], 0xbd63bf54
mov dword [esp + 0x38], 0xb951bb40
mov dword [esp + 0x3c], 0x45b54757
mov dword [esp + 0x40], 0x41b643a0
mov dword [esp + 0x44], 0x4da34fb1
mov dword [esp + 0x48], 0x49be4ba3
mov dword [esp + 0x4c], 0x55ac577a
mov dword [esp + 0x50], 0x51b853b8
lea eax, [esp + 0x54]
mov word [esp + 0x54], 0x5f50
mov dword [esp + 0x56], 0
mov word [esp + 0x5a], 0
mov ecx, 0xec48e8db
mov edx, 0x13b71724
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x13b7173d]
mov edi, edx
and edi, 0x10a305a4
mov ebx, ecx
and ebx, 0xe800a05b
or ebx, edi
xor ebx, esi
mov esi, ebx
and esi, 0xfe
xor esi, 0xa5
and ebx, 1
sub esi, ebx
lea ebx, [esi + ebx*2]
add bl, 0xb8
mov byte [esp + ecx + 0x13b7173d], bl
inc ecx
dec edx
cmp ecx, 0xec48e91f
jne 0x429560
lea edx, [esp + 0x18]
lea ebx, [esp + 0x9c]
mov edi, ebx
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xd8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0x98]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x44dd10]
mov dword [esp + 0x18], 0xcf0e092f
mov dword [esp + 0x1c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 2
xor dl, byte [esp + ecx + 0x18]
add dl, 0xf6
mov byte [esp + ecx + 0x18], dl
inc ecx
cmp ecx, 8
jne case.default.0x429621
xor ecx, ecx
cmp eax, dword [esp + 0x18]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x448dc0]
mov edi, dword [esp + 0x98]
test edi, edi
jns 0x429649
mov eax, 0xffffffff
jmp 0x42964c
xor eax, eax
test esi, esi
jne 0x4297eb
jmp 0x429823
lea eax, [edi + edi]
push eax
call fcn.00408ac0
add esp, 4
push esi
mov ebx, eax
push edi
push eax
push 0x1e
lea eax, [esp + 0xac]
push eax
push 0
call dword [0x44dd10]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x448dc8]
xor eax, eax
jmp dword [0x448dd0]
push ebx
call fcn.00408ad0
add esp, 4
xor eax, eax
jmp 0x4297e3
mov ecx, ebp
not ecx
mov esi, dword [esp + 8]
and ecx, esi
mov eax, esi
not eax
and eax, ebp
sub eax, ecx
sar eax, 3
mov ecx, eax
and ecx, 0x421
mov edx, eax
or eax, 0x421
imul eax, ecx
xor ecx, 0x421
and edx, 0xfffffbde
imul edx, ecx
add eax, edx
push eax
call fcn.00408ac0
add esp, 4
mov edi, eax
lea eax, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x88], ebx
push ebx
call fcn.00440bc0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0xc], edi
jmp dword [eax*4 + 0x448dd8]
xor ebx, ebx
mov dword [esp], edi
lea edi, [esp + 0x18]
jmp dword [0x448ec0]
mov esi, dword [esp + 8]
test esi, esi
je 0x429823
cmp esi, ebp
je 0x429823
mov ebx, eax
mov edi, esi
jmp 0x429807
add esi, 8
cmp esi, ebp
je 0x429818
mov eax, dword [esi]
test eax, eax
je 0x429800
push eax
call fcn.00408ad0
add esp, 4
jmp 0x429800
push edi
call fcn.00408ad0
add esp, 4
mov eax, ebx
add esp, 0xdc
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 4
push ecx
push dword [0x44dd1c]
call fcn.0043e8e0
add esp, 0x10
mov esi, ebp
mov ebp, dword [esp + 4]
jmp dword [0x448da0]
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x84]
call fcn.00440ef0
add esp, 0xc
not eax
shr eax, 0x1f
xor edx, edx
mov dword [esp], edi
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x448de0]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.00408ac0
add esp, 4
push 0
push esi
mov dword [esp + 0x70], eax
push eax
push dword [esp + 0x88]
call fcn.00440fc0
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov dword [esp], edi
jmp dword [eax*4 + 0x448de8]
mov esi, dword [esp + 0x94]
mov ebx, dword [esp + 0x68]
mov byte [ebx + esi], 0
push 0x20
call fcn.00408ac0
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 + 0x80], eax
mov ecx, eax
push esi
push ebx
call fcn.0042bd40
movzx eax, al
xor edx, edx
mov dword [esp], edi
jmp dword [eax*4 + 0x448df0]
mov dword [esp + 0x18], 0xada0aa91
mov dword [esp + 0x1c], 0xa6a8b851
mov dword [esp + 0x20], 0xadb5b9ed
mov dword [esp + 0x24], 0x80e7ac5a
mov dword [esp + 0x28], 0x9a8d90a0
mov dword [esp + 0x2c], 0x9f9faad9
mov dword [esp + 0x30], 0x9587989e
mov dword [esp + 0x34], 0x9d8380a5
mov dword [esp + 0x38], 0xfb9f
mov eax, 0x920bedcf
movzx ecx, byte [esp + eax + 0x6df41249]
xor ecx, eax
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0xf4
mov byte [esp + eax + 0x6df41249], cl
inc eax
cmp eax, 0x920bedf3
jne 0x429967
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x18]
push eax
call fcn.0042bf80
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [esp + 0xc]
mov dword [esp], edx
xor edx, edx
jmp dword [ecx*4 + 0x448df8]
jmp dword [0x448e90]
mov dword [esp + 0x10], edx
jmp dword [0x448ea8]
mov dword [esp + 4], ebp
mov ebp, esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], 0xb8bbba85
mov word [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
mov ecx, edx
add cl, 0xdf
xor cl, byte [esp + edx + 0x18]
add cl, 0xa5
mov byte [esp + edx + 0x18], cl
inc edx
cmp edx, 7
jne 0x429a30
mov ecx, dword [0x44dd14]
test ecx, ecx
je 0x429d5e
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x44dd18]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x429d56
mov ebx, esi
and ebx, 1
xor esi, 1
lea esi, [esi + ebx*2]
cmp esi, ecx
jb 0x429a60
jmp 0x429d5e
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
xor edx, edx
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x448d68]
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + eax + 4], ecx
mov ebp, dword [esp + 4]
add ebp, 8
mov ecx, dword [esp + 0x78]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
mov ebx, ebp
mov edx, dword [esp]
jmp dword [eax*4 + 0x448d68]
mov eax, dword [ecx]
mov dword [esp + 0x74], eax
mov eax, ebx
not eax
and eax, edi
mov ebp, edi
not ebp
and ebp, ebx
sub ebp, eax
mov eax, ebp
sar eax, 3
cmp ebx, edx
mov dword [esp + 0x78], ecx
mov dword [esp], edx
mov dword [esp + 0x14], eax
je 0x429b09
mov dword [esp + 4], ebx
mov esi, edi
jmp 0x429b7d
inc eax
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov edx, ecx
shr edx, 1
add edx, ecx
cmp edx, eax
ja 0x429b1d
mov edx, eax
mov dword [esp + 8], edx
lea eax, [edx*8]
push eax
call fcn.00408ac0
add esp, 4
mov esi, eax
test edi, edi
je 0x429b6b
mov edx, dword [esp]
cmp edi, edx
je 0x429b62
xor eax, eax
mov ecx, dword [edi + eax]
mov dword [esi + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [esi + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x429b40
push edi
call fcn.00408ad0
add esp, 4
mov eax, dword [esp + 8]
lea eax, [esi + eax*8]
mov dword [esp], eax
mov eax, esi
add eax, ebp
mov dword [esp + 4], eax
mov eax, ebx
sub ebx, edi
cmp ebx, ebp
mov dword [esp + 0xc], ebx
jae 0x429c00
mov ecx, dword [esp + 0x14]
lea edx, [edi + ecx*8]
sub edx, eax
lea edi, [esi + ebx]
lea eax, [esi + ebx]
add eax, 8
cmp edx, 8
jle 0x429bb1
push edx
push edi
push eax
call fcn.00408b40
add esp, 0xc
mov ebx, dword [esp + 0xc]
jmp 0x429c00
mov ecx, edx
shr ecx, 2
mov ebx, edi
mov ebp, edi
mov edi, eax
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
mov ebp, edx
and ebp, 0xfffffffc
add eax, ebp
add ebp, ebx
mov ecx, edx
shr ecx, 1
and ecx, 1
mov ebx, ebp
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
test dl, 1
mov ebx, dword [esp + 0xc]
je 0x429c00
and edx, 2
movzx ecx, byte [ebp + edx]
mov byte [eax + edx], cl
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + ebx], 0
mov dword [esp + 8], esi
mov dword [esi + ebx + 4], 0
xor eax, eax
mov ebp, dword [esp + 0x74]
mov edi, ebx
nop
nop
nop
nop
nop
cmp byte [ebp + eax], 0
lea eax, [eax + 1]
jne 0x429c20
lea ecx, [eax + ebp]
dec ecx
add eax, ebp
neg eax
and eax, ebp
mov ebx, ebp
not ebx
and ebx, ecx
sub ebx, eax
lea esi, [ebx + 1]
push esi
call fcn.00408ac0
add esp, 4
mov ecx, dword [esp + 8]
mov dword [ecx + edi], eax
mov ecx, esi
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, esi
and edx, 0xfffffffc
add eax, edx
add edx, ebp
mov dword [esp + 0x6c], esi
shr esi, 1
and esi, 1
mov ebp, edx
mov edi, eax
mov ecx, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test bl, 1
jne 0x429c98
mov esi, dword [esp + 0x6c]
and esi, 2
movzx ecx, byte [edx + esi]
mov byte [eax + esi], cl
test ebx, ebx
je 0x429a9e
mov dword [esp + 0x14], ebx
mov ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0x74]
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebx + eax]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov ebp, edx
shr ebp, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, ebp
mov esi, edi
shl esi, 0x1d
sar esi, 0x1f
and esi, 0x76dc419
mov ebp, edi
shl ebp, 0x1c
sar ebp, 0x1f
and ebp, 0xedb8832
xor ebp, esi
mov esi, edi
shl esi, 0x1b
sar esi, 0x1f
and esi, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, esi
xor edi, ebp
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp dword [esp + 0x14], eax
jne 0x429cb0
not ecx
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
jmp 0x429ab0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x429d90
mov esi, ebp
mov ebp, dword [esp + 4]
lea edi, [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp dword [0x448ec0]
push eax
push 4
push ecx
push dword [0x44dd1c]
call fcn.0043e8e0
add esp, 0x10
mov esi, ebp
mov ebp, dword [esp + 4]
lea edi, [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp dword [0x448ec0]
add eax, 8
mov ebx, dword [eax]
xor eax, eax
test ebx, ebx
setne al
xor edx, edx
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
jmp dword [eax*4 + 0x448e00]
add ebx, 4
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x448e00]
mov esi, dword [ebx]
cmp dword [ebx + 0x18], 3
jne case.default.0x429dff
mov edi, dword [ebx + 0x10]
test edi, edi
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x448e08]
xor eax, eax
test eax, eax
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
xor edi, edi
jmp dword [eax*4 + 0x448e08]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
mov ecx, edi
jmp dword [0x448e10]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x429e40
mov ecx, edi
nop
nop
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.0x429e19.2
mov ecx, eax
not ecx
and ecx, edi
mov esi, edi
not esi
and esi, eax
sub esi, ecx
inc esi
shr esi, 1
lea eax, [esi + 1]
push eax
call fcn.00408ac0
add esp, 4
mov ecx, edi
jmp dword [0x448e18]
mov dword [esp + 0x6c], ebx
mov dword [esp + 4], ebp
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x70], eax
jmp dword [ecx*4 + 0x448e20]
inc edi
mov byte [eax], cl
inc eax
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x448e20]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x429ec2
mov ecx, 0xffffffff
or edx, 0x20
lea ebx, [edx - 0x61]
cmp ebx, 6
jae case.default.0x429edd
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [edi + 1]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x448e28]
lea ebp, [edx - 0x30]
cmp ebp, 0xa
jb 0x429ef1
mov ebp, 0xffffffff
or edx, 0x20
lea ebx, [edx - 0x61]
cmp ebx, 6
jae case.default.0x429f16
add edx, 0xffffffa9
mov ebp, edx
shl ecx, 4
or ecx, ebp
add edi, 2
mov byte [eax], cl
inc eax
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x448e20]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x20]
call fcn.0042c1a0
add esp, 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0x74], edx
xor edx, edx
mov ecx, dword [0x448e6c]
xor eax, eax
mov ebp, dword [esp + 8]
cmp ebp, dword [esp + 4]
setne al
jmp dword [eax*4 + 0x448e40]
jmp dword [0x448e50]
mov ebx, dword [ebp + 4]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
or ebx, 1
xor edi, dword [esp + 0x74]
xor ebx, dword [esp + 0x14]
xor eax, eax
or ebx, edi
sete al
jmp dword [eax*4 + 0x448e58]
jmp ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x448e78]
int3
add byte [edx], 0xda
add byte [edx], 0x92
mov byte [edx], al
sub dword [esi - 0x71d6ffbe], ecx
inc edx
add byte [esi + 0x60004288], ch
mov dword [edx], eax
dec eax
lea eax, [edx]
xchg esp, eax
mov dword [edx], eax
lds ecx, [ecx - 0x7659ffbe]
inc edx
add byte [edi - 0x73], dl
inc edx
add byte [eax], cl
mov al, byte [edx]
and byte [edx + 0x10042], cl
add byte [eax], al
add dword [eax], eax
add byte [eax], al
aas
mov es, word [edx]
add dword [eax], eax
add byte [eax], al
mov al, 0x89
inc edx
add byte [ecx], ch
mov al, byte [edx]
or byte [ebp - 0x72ffffbe], cl
inc edx
add byte [eax], dh
mov al, byte [edx]
add byte [ebp - 0x764fffbe], cl
inc edx
add byte [esi], bh
mov al, byte [edx]
mov al, 0x89
inc edx
add byte [ebx - 0x76], dh
inc edx
add dl, ah
mov eax, dword [edx]
jmp 0x448c89
mov word [edx], es
jns 0x448c9a
inc edx
add ch, bh
lea eax, [edx]
or dword [esi - 0x7017ffbe], ecx
pop dword [edx]
or dword [eax - 0x6ee3ffbe], edx
pop dword [edx]
or dword [eax - 0x6ee3ffbe], edx
inc edx
add byte [0x22004291], dh
xchg edx, eax
inc edx
add byte [ebp - 0x6f], al
inc edx
add byte [eax], ah
xchg edx, eax
inc edx
add byte [eax], ah
xchg edx, eax
inc edx
add byte [eax], ah
xchg edx, eax
inc edx
add byte [edx], ah
xchg edx, eax
inc edx
add byte [eax - 0x6e], cl
inc edx
add byte [edx - 0x6e], dl
inc edx
add byte [ecx], al
xchg esp, eax
inc edx
add byte [ebx - 0x6e], bh
inc edx
add dl, dh
xchg ebx, eax
inc edx
add byte [ebx - 0x36ffbd6e], dh
xchg ebx, eax
inc edx
add byte [eax], dl
xchg ebx, eax
inc edx
add cl, cl
xchg ebx, eax
inc edx
add byte [ecx - 0x36ffbd66], al
xchg ebx, eax
inc edx
add cl, bl
lcall 0x42, 0x93cf0042
jecxz 0x448d09
inc edx
add al, dh
xchg ebx, eax
inc edx
add al, dh
xchg ebx, eax
inc edx
add dl, dh
xchg ebx, eax
inc edx
add al, dh
xchg ebx, eax
inc edx
add al, bh
xchg ebx, eax
inc edx
add byte [ecx], al
xchg esp, eax
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 [esi - 0x6dffbd5f], al
xchg esp, eax
inc edx
add byte [eax - 0x5fffbd6c], ah
xchg esp, eax
inc edx
add byte [eax - 0x5fffbd6c], ah
xchg esp, eax
inc edx
add byte [esi - 0x4bffbd6c], ah
xchg esp, eax
inc edx
add byte [edx], bh
xchg esi, eax
inc edx
add byte [eax], ch
xchg esi, eax
inc edx
add byte [ebx + 0x78004296], cl
xchg esi, eax
inc edx
add byte [eax - 0x7fffbd6a], dl
xchg esi, eax
inc edx
add byte [ebx + 0x1004296], cl
xchg edi, eax
inc edx
add byte [eax + ebx*4 + 0x42], cl
add byte [edx], dl
lcall 0x42, 0x987e0042
loop 0x448d83
inc edx
add byte [ecx - 0x4affbd68], bh
cdq
inc edx
add byte [edx], bl
cdq
inc edx
add byte [ebp - 0x49ffbd67], dh
popfd
inc edx
add byte [ebp - 0x1affbd67], dh
popfd
inc edx
add dl, dl
popfd
inc edx
add byte [eax], ah
sahf
inc edx
add byte [eax - 0x62], dl
inc edx
add byte [eax], dh
sahf
inc edx
add byte [ebp - 0x62], bh
inc edx
add byte [eax - 0x62], dl
inc edx
add byte [0xb500429f], bl
lahf
inc edx
add byte [ebp - 0x5fffbd62], dh
sahf
inc edx
add ah, ah
lahf
inc edx
add byte [ebp - 0x5fffbd62], dh
sahf
inc edx
add ah, ah
sahf
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi + 0x10042a1], al
add byte [eax], al
add byte [eax - 0x61], ah
inc edx
add byte [edi + 0x6000429f], cl
lahf
inc edx
add byte [eax - 0x61], ah
inc edx
add dh, cl
lahf
inc edx
add byte [eax - 0x61], ah
inc edx
add al, al
lahf
inc edx
add byte [eax - 0x61], dh
inc edx
add al, al
lahf
inc edx
add al, al
lahf
inc edx
add al, al
lahf
inc edx
add dl, al
lahf
inc edx
add dh, cl
lahf
inc edx
add byte [edi + ebx*4 + 0x42], bh
add ah, bl
lahf
inc edx
add dh, ch
lahf
inc edx
add byte [ebx - 0x6affbd60], cl
mov al, byte [0xa1630042]
inc edx
add dl, dl
popfd
inc edx
add byte [ebx - 0x29ffbd67], bh
cdq
inc edx
add al, ah
cdq
inc edx
add al, ah
cdq
inc edx
add dl, ah
cdq
inc edx
add al, ah
cdq
inc edx
add ah, ch
cdq
inc edx
add al, bh
cdq
inc edx
add byte [eax], dl
lcall 0x42, 0x9a100042
adc byte [edx - 0x65edffbe], bl
inc edx
add byte [eax], dl
xchg edi, eax
inc edx
add byte [edx - 0x63], dh
inc edx
add byte [edx + 0x2c00429d], al
xchg edi, eax
inc edx
add ah, dl
xchg edi, eax
inc edx
add cl, ah
xchg edi, eax
inc edx
add byte [ebx - 0x62ffbd5e], ah
movsd dword es:[edi], dword [esi]
inc edx
add byte [ebx], al
inc edx
add byte [ecx + 0x110042a2], ch
mov dword [0xa3040042], eax
inc edx
add byte [eax], dh
mov dword [0xa3510042], eax
inc edx
add byte [eax], dh
mov dword [0xa3300042], eax
inc edx
add byte [eax], dh
mov dword [0xa3360042], eax
inc edx
add byte [esi], bh
mov dword [0xa59d0042], eax
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi], bl
mov bl, 0x42
add byte [ecx], al
add byte [eax], al
add byte [ebp - 0x36ffbd5b], al
movsd dword es:[edi], dword [esi]
inc edx
add byte [ebx - 0x68ffbd5b], cl
movsd dword es:[edi], dword [esi]
inc edx
add byte [ebp - 0x59], ch
inc edx
add byte [eax + 0x610042a7], al
lodsb al, byte [esi]
inc edx
add byte [eax + 0x520042a7], ch
lodsb al, byte [esi]
inc edx
add ch, bl
cmpsd dword [esi], dword es:[edi]
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 ch, bl
cmpsd dword [esi], dword es:[edi]
inc edx
add ah, bh
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [eax], cl
test al, 0x42
add byte [edi], bl
lodsb al, byte [esi]
inc edx
add byte [ebp - 0x4bffbd57], bl
stosd dword es:[edi], eax
inc edx
add bh, bl
stosd dword es:[edi], eax
inc edx
add byte [edx - 0x2fffbd55], bh
stosd dword es:[edi], eax
inc edx
add al, dl
stosd dword es:[edi], eax
inc edx
add bh, bl
stosd dword es:[edi], eax
inc edx
add byte [eax], al
lodsb al, byte [esi]
inc edx
add ch, ah
stosd dword es:[edi], eax
inc edx
add byte [edi], bl
lodsb al, byte [esi]
inc edx
add byte [eax], al
lodsb al, byte [esi]
inc edx
add byte [0x310042ac], ah
lodsb al, byte [esi]
inc edx
add byte [eax - 0x54], dl
inc edx
add byte [eax - 0x54], dl
inc edx
add byte [eax - 0x54], dl
inc edx
add byte [edx - 0x54], dl
inc edx
add byte [eax - 0x54], bl
inc edx
add byte [ecx - 0x54], ah
inc edx
add ch, ch
lodsb al, byte [esi]
inc edx
add byte [edi], cl
lodsd eax, dword [esi]
inc edx
add byte [eax], al
lodsd eax, dword [esi]
inc edx
add bl, dh
lodsb al, byte [esi]
inc edx
add byte [eax], al
lodsd eax, dword [esi]
inc edx
add byte [edi], cl
lodsd eax, dword [esi]
inc edx
add byte [eax + 0x190042a5], dh
lodsd eax, dword [esi]
inc edx
add al, dl
scasd eax, dword es:[edi]
inc edx
add byte [edi], bl
lodsd eax, dword [esi]
inc edx
add al, dl
scasd eax, dword es:[edi]
inc edx
add byte [edx + esi*4 - 0x4d3effbe], ch
inc edx
add al, dl
mov dl, 0x42
add dh, dl
mov dl, 0x42
add byte [eax - 0xfffbd5b], dh
mov dl, 0x42
add ah, bl
mov dl, 0x42
add byte [eax - 0xfffbd5b], dh
mov dl, 0x42
add byte [ecx - 0x46], ch
inc edx
add dl, cl
mov ebx, 0xbbca0042
inc edx
add byte [esi - 0x2fffbd47], bh
mov ecx, 0xbd1d0042
inc edx
add al, dl
mov ecx, 0xb9d00042
inc edx
add al, dl
mov ecx, 0xb9d60042
inc edx
add byte [eax + 0x150042b9], dh
mov edx, 0xb9b80042
inc edx
add byte [0x580042bd], bl
mov edx, 0xba4f0042
inc edx
add byte [0x4f0042bd], bl
mov edx, 0xba400042
inc edx
add byte [edi], ch
mov bl, 0x42
add byte [edx + 0x550042b3], dh
mov bl, 0x42
add byte [ebp + 0x210042b3], cl
mov ah, 0x42
add byte [0x890042b4], bh
mov ah, 0x42
add byte [ecx + 0xb0042b4], cl
mov ch, 0x42
add byte [ecx], bl
mov ch, 0x42
add byte [ebp + 0x5c0042b3], cl
mov ch, 0x42
add byte [eax + edi*4], cl
inc edx
add byte [ebp + esi*4 + 0x42], ch
add byte [eax + edi*4], cl
inc edx
add byte [ebp + esi*4 + 0x42], bh
add byte [eax + edi*4], cl
inc edx
add byte [ebp + esi*4 - 0x47f3ffbe], cl
inc edx
add byte [ebp + esi*4 - 0x47f3ffbe], bl
inc edx
add bh, ch
mov ch, 0x42
add byte [ebx], dl
mov dh, 0x42
add ah, ah
mov eax, 0xb8d10042
inc edx
add byte [edx], dl
mov eax, 0xb8d10042
inc edx
add byte [esi], ch
mov eax, 0xb61c0042
inc edx
add cl, bh
mov bh, 0x42
add byte [edx - 0x4a], cl
inc edx
add byte [eax - 0x71ffbd4a], al
mov dh, 0x42
add dl, ch
mov bh, 0x42
add cl, bh
mov bh, 0x42
add bh, bh
mov bh, 0x42
add byte [esi], ch
mov eax, 0xb5fd0042
inc edx
add byte [eax + edi*4], cl
inc edx
add byte [ebx - 0x61ffbd4d], dl
mov bl, 0x42
add byte [eax - 0x4fffbd4d], dh
mov bl, 0x42
add byte [edx - 0x4fffbd4d], dh
mov bl, 0x42
add byte [eax + 0x260042b3], bh
mov ecx, 0xba400042
inc edx
add byte [esi], ah
mov ecx, 0xba490042
inc edx
add byte [eax], bl
mov ebp, 0xbd250042
inc edx
add byte [esi], ch
mov ebp, 0xbd180042
inc edx
add byte [0x42bd], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x7c0097fa], al
cli
xchg edi, eax
add byte [ebx + 0x4f0097fc], ch
invalid