Function at 0x429ad0
Capabilities:
Encode data using xor

Disassembly:
push dword [esp + 4]
call fcn.00429af0
add esp, 4
test al, al
je 0x42a150
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xe4
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0xa4], 0x89388bdb
mov dword [esp + 0xa8], 0x850a8705
mov dword [esp + 0xac], 0x8136833b
mov dword [esp + 0xb0], 0x9dce9f34
mov dword [esp + 0xb4], 0x99169b23
mov dword [esp + 0xb8], 0x95969720
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x23
xor cl, byte [esp + eax + 0xa4]
add cl, 0x51
mov byte [esp + eax + 0xa4], cl
inc eax
cmp eax, 0x18
jne 0x42a1b0
mov dword [esp + 0x1c], 0x570849ec
mov dword [esp + 0x20], 0x53195519
mov dword [esp + 0x24], 0x5f015119
mov dword [esp + 0x28], 0x5b045d00
mov dword [esp + 0x2c], 0xa7025901
mov dword [esp + 0x30], 0xa3e3a5f1
mov dword [esp + 0x34], 0xafe6a1ef
mov dword [esp + 0x38], 0xabf8ade5
mov dword [esp + 0x3c], 0xb712a9e5
mov dword [esp + 0x40], 0xb3e1b5eb
mov dword [esp + 0x44], 0xbfe2b1fa
mov dword [esp + 0x48], 0xbbfbbde7
mov dword [esp + 0x4c], 0x87cbb9e6
mov dword [esp + 0x50], 0x83d88520
mov dword [esp + 0x54], 0x8f3a8121
mov dword [esp + 0x58], 0x8b278d36
mov dword [esp + 0x5c], 0x97c9892c
mov dword [esp + 0x60], 0x933f9528
mov dword [esp + 0x64], 0x9f2b9131
mov word [esp + 0x68], 0x9d9c
mov byte [esp + 0x6c], 0
mov word [esp + 0x6a], 0
xor eax, eax
mov ecx, 0x11
nop
nop
mov esi, ecx
and esi, 0xfc
mov edx, eax
and edx, 3
or edx, esi
xor dl, byte [esp + eax + 0x1c]
xor dl, 0xfe
add dl, 0x5a
mov byte [esp + eax + 0x1c], dl
inc eax
dec ecx
cmp eax, 0x51
jne case.default.0x42a2c2
lea ebx, [esp + 0xa4]
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.00439b80
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x448038]
mov ecx, esi
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42a2d0
sub eax, esi
cmp eax, 0xffffffd9
jge 0x42a2f0
mov eax, 0xffffffff
jmp 0x42a2f3
xor eax, eax
jmp 0x42ab13
add eax, 0x26
push eax
call fcn.00408c10
add esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], 0xd16bcf10
mov dword [esp + 0x20], 0xd57cd361
mov dword [esp + 0x24], 0xd97dd772
mov dword [esp + 0x28], 0xdd06db71
mov dword [esp + 0x2c], 0xa16fdf79
mov dword [esp + 0x30], 0xa504a30e
mov dword [esp + 0x34], 0xa90fa70f
mov dword [esp + 0x38], 0xad1cab46
mov dword [esp + 0x3c], 0xb108af08
mov dword [esp + 0x40], 0xb3b0
mov eax, 0xa2d9782d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x5d2687ef]
lea edi, [eax + 0x5d268800]
and edi, ecx
add ecx, eax
add edi, edi
mov edx, ecx
sub edx, edi
and ecx, 1
or edx, 1
add edx, ecx
add dl, 0x1e
mov byte [esp + eax + 0x5d2687ef], dl
inc eax
cmp eax, 0xa2d97855
jne 0x42a360
movzx ecx, word [esi]
mov edi, dword [esp + 0xc]
mov eax, edi
test cx, cx
je 0x42a3c1
mov edx, esi
add edx, 2
mov eax, edi
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 0x42a3b0
mov word [eax], 0
movzx ecx, word [esp + 0x1c]
test cx, cx
je 0x42a3f1
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 0x42a3e0
mov word [eax], 0
jmp dword [0x448040]
push esi
call fcn.00408c20
add esp, 4
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x448048]
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x448048]
mov dword [esp + 0x1c], 0xe9d4eb21
mov dword [esp + 0x20], 0xed0bef34
mov dword [esp + 0x24], 0xf100f31d
mov dword [esp + 0x28], 0xf519f71a
mov dword [esp + 0x2c], 0xf926fb1d
mov dword [esp + 0x30], 0xfd0fff1d
mov dword [esp + 0x34], 0x8168830e
mov dword [esp + 0x38], 0x856f876f
mov dword [esp + 0x3c], 0x89708bb6
mov dword [esp + 0x40], 0x8d648f6c
mov dword [esp + 0x44], 0x938c
xor eax, eax
nop
mov ecx, eax
add cl, 0x27
xor cl, byte [esp + eax + 0x1c]
add cl, 0x3d
mov byte [esp + eax + 0x1c], cl
inc eax
cmp eax, 0x2c
jne case.default.0x42a4bc
push 0
lea eax, [esp + 0x20]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
push ebx
push edi
call fcn.004405b0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x448050]
xor esi, esi
xor edi, edi
jmp dword [0x4480a0]
push dword [esp + 0xc]
call fcn.00408c20
add esp, 4
xor eax, eax
mov dword [esp], esi
mov dword [esp + 4], edi
cmp esi, edi
sete al
jmp dword [eax*4 + 0x4480a8]
xor eax, eax
jmp 0x42aad5
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0xac]
call fcn.00440910
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 4], 0
mov dword [esp], 0
jmp dword [eax*4 + 0x448058]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.00408c10
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xb0]
call fcn.004409f0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
mov dword [esp], 0
jmp dword [eax*4 + 0x448060]
mov esi, dword [esp + 0x94]
mov byte [edi + esi], 0
push 0x20
call fcn.00408c10
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 + 0x74], eax
mov ecx, eax
push esi
mov dword [esp + 0x74], edi
push edi
call fcn.0042cb00
movzx eax, al
xor edx, edx
xor esi, esi
jmp dword [eax*4 + 0x448068]
mov dword [esp + 0x1c], 0x9d809af1
mov dword [esp + 0x20], 0x86988891
mov dword [esp + 0x24], 0x9d95e9dd
mov dword [esp + 0x28], 0xe0c79c8a
mov dword [esp + 0x2c], 0x8a9d9080
mov dword [esp + 0x30], 0x989bf8c9
mov dword [esp + 0x34], 0xb5b0b88d
mov dword [esp + 0x38], 0x7b5
mov byte [esp + 0x3c], 0
xor eax, eax
mov ecx, 0xffffffff
mov dword [esp + 4], 1
mov dword [esp + 0x18], 0x9c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x14], ecx
mov dword [esp], eax
mov ebp, eax
and ebp, 7
mov edx, eax
and edx, 0xfffffff8
mov dword [esp + 0x10], edx
mov ebx, ebp
sub ebx, edx
lea esi, [ecx + edx]
sub esi, ebp
movzx ecx, byte [esp + eax + 0x1c]
mov eax, dword [esp]
xor eax, 0xe7576b47
mov edx, dword [esp]
add edx, eax
add edx, ebx
and edx, ecx
add edx, edx
mov edi, edx
sub edi, eax
sub edi, ecx
add edi, esi
or edi, 0x7b4ae79c
add eax, ecx
add edi, eax
mov ecx, edi
sub ecx, edx
mov esi, dword [esp]
add esi, ebx
inc esi
add esi, ecx
mov ecx, esi
mov dword [esp + 8], esi
not esi
and ecx, 0xfd
and esi, 2
imul esi, ecx
mov ecx, dword [esp + 0x18]
add ecx, ebp
sub ecx, dword [esp + 0x10]
add ebp, dword [esp]
add ebp, eax
sub eax, edx
add eax, ecx
sub ebp, edx
sub ebp, dword [esp + 0x10]
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
add ecx, ebx
add edi, ecx
sub edi, edx
mov ecx, dword [esp + 8]
or ecx, 2
add edi, 8
shr edi, 1
and edi, 1
imul edi, ecx
add ebp, ebp
and ebp, 0x38
sub esi, ebp
lea ecx, [esi + edi*2]
add ecx, eax
mov eax, dword [esp]
inc cl
mov byte [esp + eax + 0x1c], cl
mov ecx, dword [esp + 0x14]
inc eax
dec ecx
inc dword [esp + 4]
inc dword [esp + 0x18]
cmp eax, 0x21
jne case.default.0x42a717
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x1c]
push eax
call fcn.0042cd40
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
xor esi, esi
xor ebx, ebx
jmp dword [ecx*4 + 0x448070]
mov dword [esp + 4], edx
mov dword [esp], esi
mov ebp, dword [esp + 0xf8]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
jmp dword [0x448080]
jmp dword [0x448088]
mov ecx, esi
call fcn.0042ced0
push esi
call fcn.00408c20
add esp, 4
mov ecx, esi
call fcn.0042ced0
push esi
call fcn.00408c20
add esp, 4
jmp dword [0x448094]
jmp dword [0x448098]
push edi
call fcn.00408c20
add esp, 4
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1c], 0x70605
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebx
add cl, 0x81
xor cl, byte [esp + ebx + 0x1c]
add cl, 0x7b
mov byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jne 0x42a790
mov ecx, dword [0x44cff0]
test ecx, ecx
je 0x42a7dc
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44cff4]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x42a7d0
inc esi
cmp ecx, esi
jne 0x42a7c0
jmp 0x42a7dc
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42ab1e
mov esi, dword [esp]
mov edi, dword [esp + 4]
jmp dword [0x4480a0]
xor eax, eax
mov dword [esp], esi
mov dword [esp + 4], edi
cmp esi, edi
sete al
jmp dword [eax*4 + 0x4480a8]
mov dword [esp + 0x1c], 0x994e9bb7
mov dword [esp + 0x20], 0xa54ba769
mov dword [esp + 0x24], 0xa156a34b
mov dword [esp + 0x28], 0xad5eaf6f
mov dword [esp + 0x2c], 0xa966ab5c
mov dword [esp + 0x30], 0xb54ab747
mov dword [esp + 0x34], 0xb199b35b
mov dword [esp + 0x38], 0xbd63bf54
mov dword [esp + 0x3c], 0xb951bb40
mov dword [esp + 0x40], 0x45b54757
mov dword [esp + 0x44], 0x41b643a0
mov dword [esp + 0x48], 0x4da34fb1
mov dword [esp + 0x4c], 0x49be4ba3
mov dword [esp + 0x50], 0x55ac577a
mov dword [esp + 0x54], 0x51b853b8
lea eax, [esp + 0x58]
mov word [esp + 0x58], 0x5f50
mov dword [esp + 0x5a], 0
mov byte [esp + 0x5e], 0
xor ecx, ecx
mov edx, ecx
add dl, 0xdb
xor dl, byte [esp + ecx + 0x1c]
add dl, 0xb9
mov byte [esp + ecx + 0x1c], dl
inc ecx
cmp ecx, 0x43
jne 0x42a890
lea edx, [esp + 0x1c]
lea ebx, [esp + 0xa4]
mov edi, ebx
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xe0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0xa0]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x44cfec]
mov dword [esp + 0x1c], 0x17d6c9e7
mov dword [esp + 0x20], 0
mov ecx, 0x4da9774e
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x4da97732]
xor edx, ecx
neg edx
lea edi, [edx + edx]
and edi, 0xe
xor edx, 0x78
sub edx, edi
add dl, 2
mov byte [esp + ecx - 0x4da97732], dl
inc ecx
cmp ecx, 0x4da97756
jne 0x42a900
xor ecx, ecx
cmp eax, dword [esp + 0x1c]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x4480b0]
mov edi, dword [esp + 0xa0]
test edi, edi
jns 0x42a94e
mov eax, 0xffffffff
jmp 0x42a951
lea eax, [edi + edi]
push eax
call fcn.00408c10
add esp, 4
push esi
mov esi, eax
push edi
push eax
push 0x1e
lea eax, [esp + 0xb4]
push eax
push 0
call dword [0x44cfec]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4480b8]
xor eax, eax
jmp dword [0x4480c0]
push esi
call fcn.00408c20
add esp, 4
mov ecx, dword [case.0x42a717.16]
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp 0x42aad5
mov eax, dword [esp + 4]
sub eax, dword [esp]
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408c10
add esp, 4
mov ecx, esi
mov esi, eax
lea eax, [esp + 0x80]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x8c], ecx
push ecx
call fcn.004405b0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4480d8]
xor ebx, ebx
mov dword [esp + 8], esi
jmp dword [0x448200]
mov edi, dword [esp]
test edi, edi
mov ebx, dword [esp + 4]
je 0x42ab13
cmp edi, ebx
je 0x42ab13
mov ebp, eax
mov esi, edi
jmp 0x42aaf7
add esi, 8
cmp esi, ebx
je 0x42ab08
mov eax, dword [esi]
test eax, eax
je 0x42aaf0
push eax
call fcn.00408c20
add esp, 4
jmp 0x42aaf0
push edi
call fcn.00408c20
add esp, 4
mov eax, ebp
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 4
push ecx
push dword [0x44cff8]
call fcn.0043def0
add esp, 0x10
mov esi, dword [esp]
mov edi, dword [esp + 4]
jmp dword [0x4480a0]
lea eax, [esp + 0x9c]
push 0
push eax
push dword [esp + 0x88]
call fcn.00440910
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], esi
xor ebx, ebx
jmp dword [eax*4 + 0x4480e0]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x9c]
lea eax, [esi + 1]
push eax
call fcn.00408c10
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x8c]
call fcn.004409f0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
jmp dword [eax*4 + 0x4480e8]
mov esi, dword [esp + 0x9c]
mov byte [edi + esi], 0
push 0x20
call fcn.00408c10
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 + 0x84], eax
mov ecx, eax
push esi
mov esi, dword [esp + 0x10]
push edi
call fcn.0042cb00
movzx eax, al
xor ebx, ebx
mov dword [esp + 8], esi
jmp dword [eax*4 + 0x4480f0]
mov dword [esp + 0x1c], 0xab94aa8f
mov dword [esp + 0x20], 0x86b49ca7
mov dword [esp + 0x24], 0x8b879bf3
mov dword [esp + 0x28], 0x9cf980be
mov dword [esp + 0x2c], 0x828f8cbc
mov dword [esp + 0x30], 0x8181eaff
mov dword [esp + 0x34], 0x83b1b482
mov dword [esp + 0x38], 0xb3bdb4d3
mov dword [esp + 0x3c], 0x19bd
mov byte [esp + 0x40], 0
movzx eax, byte [esp + ebx + 0x1c]
lea ecx, [ebx + 0x6eb9bbca]
mov edx, ecx
and edx, eax
lea esi, [ebx + eax]
add esi, 0x6eb9bbca
not esi
lea edx, [esi + edx*2]
and edx, ecx
add edx, edx
neg edx
lea ecx, [ebx + edx]
add ecx, 0x6eb9bbca
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xd
mov ecx, 0x72
sub ecx, edx
or ecx, 1
add ecx, edx
and edx, 1
and eax, 0xfe
or eax, edx
lea eax, [eax + ecx*2]
add al, 0x1c
mov byte [esp + ebx + 0x1c], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 0x25
jb case.default.0x42ace5
mov ecx, dword [esp + 0x84]
lea eax, [esp + 0x1c]
push eax
call fcn.0042cd40
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov edx, dword [esp + 0xc]
mov dword [esp + 8], edx
mov dword [esp + 0x88], edi
jmp dword [ecx*4 + 0x4480f8]
mov eax, dword [case.0x42a717.31]
mov ebp, dword [esp + 0xf8]
jmp eax
mov esi, dword [esp + 0x84]
jmp dword [0x4481c0]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor edx, edx
mov dword [esp + 0x10], 0
xor esi, esi
jmp dword [eax*4 + 0x448078]
mov esi, dword [esp]
mov eax, dword [esp + 0x14]
mov dword [esi + eax + 4], edx
mov edx, dword [esp + 4]
add edx, 8
mov ecx, dword [esp + 8]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
jmp dword [eax*4 + 0x448078]
mov dword [esp + 8], ecx
mov esi, dword [ecx]
mov ebp, edx
sub ebp, edi
mov ecx, dword [esp + 0x10]
cmp edx, ecx
mov dword [esp + 0x14], ebp
je 0x42ad77
mov dword [esp + 4], edx
jmp 0x42adef
mov eax, ebp
sar eax, 3
inc eax
sub ecx, edi
sar ecx, 3
mov ebp, ecx
shr ebp, 1
add ebp, ecx
cmp ebp, eax
ja 0x42ad8e
mov ebp, eax
lea eax, [ebp*8]
push eax
call fcn.00408c10
add esp, 4
mov dword [esp], eax
test edi, edi
je 0x42addd
cmp edi, dword [esp + 0x10]
mov edx, dword [esp]
je 0x42add4
xor eax, eax
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 0x42adb0
push edi
call fcn.00408c20
add esp, 4
mov edi, dword [esp]
lea ecx, [edi + ebp*8]
mov eax, edi
mov ebp, dword [esp + 0x14]
add eax, ebp
mov dword [esp + 4], eax
mov dword [esp + 0x10], ecx
mov dword [edi + ebp], 0
mov dword [esp], edi
mov dword [edi + ebp + 4], 0
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + ebp], 0
lea ebp, [ebp + 1]
jne 0x42ae10
push ebp
call fcn.00408c10
add esp, 4
mov edi, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x14]
mov dword [eax + ecx], edi
mov ecx, ebp
shr ecx, 2
mov eax, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edx, ebp
and edx, 0xfffffffc
mov edi, dword [esp + 0x18]
add edi, edx
add edx, esi
mov eax, ebp
and eax, 3
mov ecx, eax
shr ecx, 1
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x7c]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, eax
xor ecx, 0xfffffffe
or eax, 1
and eax, ecx
je 0x42ae92
mov ecx, ebp
and ecx, 2
mov edx, dword [esp + 0x78]
add edx, ecx
mov edi, dword [esp + 0x18]
add edi, ecx
push eax
push edx
push edi
call fcn.00408c40
add esp, 0xc
xor edx, edx
cmp ebp, 1
je 0x42ad30
mov edx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax - 1]
xor ecx, edx
mov edx, ecx
shr edx, 1
and ecx, 1
neg ecx
mov edi, ecx
xor edi, 0x12477cdf
or ecx, 0xedb88320
and ecx, edi
xor ecx, edx
mov edx, ecx
shr edx, 1
and ecx, 1
neg ecx
mov edi, ecx
xor edi, 0x12477cdf
or ecx, 0xedb88320
and ecx, edi
xor ecx, edx
mov edx, ecx
shr edx, 1
and ecx, 1
neg ecx
mov edi, ecx
xor edi, 0x12477cdf
or ecx, 0xedb88320
and ecx, edi
xor ecx, edx
mov edx, ecx
shr edx, 1
and ecx, 1
neg ecx
mov edi, ecx
xor edi, 0x12477cdf
or ecx, 0xedb88320
and ecx, edi
xor ecx, edx
mov edx, ecx
shr edx, 1
and ecx, 1
neg ecx
mov edi, ecx
xor edi, 0x12477cdf
or ecx, 0xedb88320
and ecx, edi
xor ecx, edx
mov edx, ecx
shr edx, 1
and ecx, 1
neg ecx
mov edi, ecx
xor edi, 0x12477cdf
or ecx, 0xedb88320
and ecx, edi
xor ecx, edx
mov edx, ecx
shr edx, 1
and ecx, 1
neg ecx
mov edi, ecx
xor edi, 0x12477cdf
or ecx, 0xedb88320
and ecx, edi
xor ecx, edx
mov edi, ecx
shr edi, 1
and ecx, 1
neg ecx
mov edx, ecx
xor edx, 0x12477cdf
or ecx, 0xedb88320
and ecx, edx
mov edx, ecx
xor edx, edi
inc eax
cmp ebp, eax
jne 0x42aeb0
not edx
jmp 0x42ad30
add eax, 8
xor ebx, ebx
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
jmp dword [eax*4 + 0x448100]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x448100]
mov esi, dword [edx]
cmp dword [edx + 0x18], 3
mov ebp, 0
jne case.default.0x42aff0
mov ebp, dword [edx + 0x10]
test esi, esi
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x448108]
mov dword [esp + 0x10], esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ebx
mov ecx, ebp
jmp dword [0x448110]
mov eax, ebp
nop
nop
nop
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x42b010
mov ecx, ebp
nop
nop
nop
nop
nop
nop
mov esi, ecx
inc ecx
cmp byte [esi], 0
jne case.0x42aff0.2
sub esi, ebp
inc esi
shr esi, 1
lea eax, [esi + 1]
push eax
call fcn.00408c10
add esp, 4
mov ecx, ebp
jmp dword [0x44811c]
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x70], eax
jmp dword [ecx*4 + 0x448120]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x42b06d
mov ecx, 0xffffffff
or edx, 0x20
lea edi, [edx - 0x61]
cmp edi, 6
jae case.default.0x42b088
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [ebp + 1]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x448128]
inc ebp
jmp dword [0x448134]
lea edi, [edx - 0x30]
cmp edi, 0xa
jb 0x42b0ad
mov edi, 0xffffffff
or edx, 0x20
lea ebx, [edx - 0x61]
cmp ebx, 6
jae 0x42b0bd
add edx, 0xffffffa9
mov edi, edx
add ebp, 2
shl ecx, 4
or ecx, edi
jmp dword [0x448134]
mov byte [eax], cl
nop
nop
nop
mov byte [eax], cl
jmp dword [0x44813c]
inc eax
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x448120]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x1c]
call fcn.0042cf70
add esp, 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], 0
mov ecx, dword [case.0x42ace5.29]
xor eax, eax
mov edi, dword [esp]
mov ebp, dword [esp + 4]
cmp edi, ebp
setne al
jmp dword [eax*4 + 0x448140]
jmp dword [0x448154]
mov eax, 1
mov ebp, edx
jmp dword [eax*4 + 0x448170]
add edi, 8
xor ebx, ebx
cmp edi, ebp
setne bl
jmp dword [ebx*4 + 0x448140]
mov edx, ebp
mov ebx, dword [edi + 4]
mov ebp, ebx
shr ebp, 0x1c
shl ebx, 4
or ebx, 1
xor ebp, dword [esp + 0x18]
xor ebx, dword [esp + 0x10]
xor eax, eax
or ebx, ebp
sete al
jmp dword [eax*4 + 0x448158]
jmp ecx
mov eax, dword [edi]
mov dword [esp + 0x14], eax
xor eax, eax
mov ebp, edx
jmp dword [eax*4 + 0x448170]
xor eax, eax
mov ecx, dword [esp + 0x14]
test ecx, ecx
setne al
mov edi, dword [esp + 0x88]
mov dword [esp + 4], ebp
jmp dword [eax*4 + 0x448178]
jmp dword [0x448188]
push dword [esp + 0x70]
call fcn.00408c20
add esp, 4
mov eax, dword [case.0x42aff0.0]
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
nop
jmp eax
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
mov eax, 0xffffffff
lea ebx, [esp + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42b265
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
push 0xe18a387a
push dword [0x44cffc]
mov esi, ecx
call fcn.0043fb60
add esp, 8
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x94]
push ecx
push 1
push 0
push 0
push edx
push 0
push ebx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448180]
jmp dword [0x448188]
movzx eax, byte [esi]
test al, al
je 0x42b28b
inc esi
mov ecx, dword [esp + 8]
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x42b27e
jmp 0x42b28f
mov ecx, dword [esp + 8]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x42b2d6
mov ecx, dword [esp + 0x90]
mov edx, esi
and edx, 3
je 0x42b2da
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x42b2b4
add eax, edi
mov edx, esi
sub edx, edi
mov ebx, eax
mov edi, dword [esp + 0x88]
jmp 0x42b2dc
mov esi, eax
jmp 0x42b31c
mov edx, esi
cmp esi, 4
mov esi, ebx
jb 0x42b31c
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 0x42b2e3
mov byte [esi], 0xa
inc esi
mov dword [esp + 8], esi
push 0xa7ffa4f5
push dword [0x44cfe4]
call fcn.0043fb60
add esp, 8
push dword [esp + 0x90]
call eax
mov al, 1
mov dword [esp + 0x78], eax
jmp dword [0x448188]
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], 0x70605
xor edx, edx
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x81
xor cl, byte [esp + edx + 0x1c]
add cl, 0x7b
mov byte [esp + edx + 0x1c], cl
inc edx
cmp edx, 4
jne 0x42b3a0
mov ecx, dword [0x44cff0]
test ecx, ecx
je 0x42b3e8
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44cff4]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x42b3e0
inc esi
cmp ecx, esi
jne 0x42b3d0
jmp 0x42b3e8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42b3f2
mov esi, dword [esp + 0xc]
jmp dword [0x448200]
push eax
push 4
push ecx
push dword [0x44cff8]
call fcn.0043def0
add esp, 0x10
mov esi, dword [esp + 0xc]
jmp dword [0x448200]
mov esi, dword [esp + 0xc]
jmp dword [0x4481e8]