Function at 0x42e2f0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf4
mov dword [esp + 4], 0x49f54b17
mov dword [esp + 8], 0x45d647d8
mov dword [esp + 0xc], 0x41dd43f8
mov dword [esp + 0x10], 0xbd21bfcc
mov dword [esp + 0x14], 0xb9babbe7
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
xor ecx, ecx
mov edx, ecx
add dl, 0xf3
xor dl, byte [esp + ecx + 4]
add dl, 0x41
mov byte [esp + ecx + 4], dl
inc ecx
cmp ecx, 0x18
jne 0x42e330
lea esi, [esp + 0xca]
lea edx, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xde]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x5c]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x451d68]
mov ebx, dword [esp + 0x5c]
test ebx, ebx
jns 0x42e38f
mov eax, 0xffffffff
jmp 0x42e392
lea eax, [ebx + ebx]
push eax
call fcn.0040c700
add esp, 4
push edi
push ebx
mov dword [esp + 0x4c], eax
push eax
push 9
push esi
push 0
call dword [0x451d68]
mov dword [esp + 4], 0x933b915c
mov dword [esp + 8], 0x9f3d9d0f
mov dword [esp + 0xc], 0x9b08990f
mov dword [esp + 0x10], 0x87868528
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov eax, 0x64
mov ecx, 0x9b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x99
mov ebx, eax
and ebx, 0x66
or ebx, esi
xor bl, byte [esp + eax - 0x60]
xor bl, 0x99
add bl, 0xc
mov byte [esp + eax - 0x60], bl
inc eax
dec ecx
cmp eax, 0x78
jne 0x42e3f0
lea edi, [esp + 0x9e]
lea eax, [esp + 4]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xae]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 4], 0xf77094c
mov dword [esp + 8], 0x3650d7b
mov dword [esp + 0xc], 0x7700173
mov dword [esp + 0x10], 0x1b5d0560
mov dword [esp + 0x14], 0x1f6c1979
mov dword [esp + 0x18], 0x13641d7d
mov dword [esp + 0x1c], 0x17161199
mov ecx, 0x73a6902
mov edx, 0x78c596fd
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx - 0x73a68fe]
mov esi, edx
or esi, eax
lea edi, [edx - 0x78c59600]
and edi, eax
xor edi, esi
and edi, ecx
add edi, edi
sub eax, edi
add eax, ecx
add eax, 0xdbdbf2f5
mov esi, eax
xor esi, 0xa4
and eax, 0x5b
add eax, eax
sub eax, esi
add al, 0xa5
mov byte [esp + ecx - 0x73a68fe], al
inc ecx
dec edx
cmp ecx, 0x73a691e
jne 0x42e480
lea edi, [esp + 0xae]
lea eax, [esp + 4]
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xca]
lea eax, [esp + 0x20]
xor esi, esi
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 4], 0x91059fd8
mov dword [esp + 8], 0x95379305
mov dword [esp + 0xc], 0x89049705
mov dword [esp + 0x10], 0x8d3a8b2c
mov dword [esp + 0x14], 0x81cc8f38
lea ebx, [esp + 0x18]
mov word [esp + 0x18], 0x8380
mov dword [esp + 0x1a], 0
mov word [esp + 0x1e], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 4]
mov ebp, ecx
xor ebp, 0xe49dcbdb
mov eax, esi
and eax, 8
sub eax, ebp
mov ebp, edi
xor ebp, 0x3b
mov edx, eax
xor edx, 0xbb
xor edi, 0x44
and edi, edx
xor eax, 0x44
and eax, ebp
or eax, edi
add al, 0x47
mov byte [esp + ecx + 4], al
inc ecx
add esi, 2
cmp ecx, 0x1c
jne case.default.0x42e5e7
lea esi, [esp + 0xde]
lea eax, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xf2]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x9e]
mov dword [esp + 0x90], eax
lea eax, [esp + 0xae]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0x44]
add eax, 2
mov dword [esp + 0x64], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x50], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x44e0b8]
jmp dword [0x44e0c0]
push dword [esp + 0x44]
call fcn.0040c710
add esp, 4
mov eax, dword [esp + 0x50]
and al, 1
add esp, 0xf4
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x70], ecx
mov edx, dword [esp + ecx + 0x90]
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + eax], 0
lea eax, [eax + 2]
jne 0x42e650
lea ecx, [edx + eax]
add ecx, 0xfffffffe
mov esi, edx
not esi
and esi, ecx
add eax, edx
mov ecx, 1
sub ecx, eax
and ecx, edx
sub esi, ecx
mov dword [esp + 0x68], esi
sar esi, 1
mov eax, dword [esp + 0x5c]
lea ecx, [esi + eax]
add ecx, 0xd
test ecx, ecx
jns 0x42e690
mov eax, 0xffffffff
jmp 0x42e699
add eax, esi
lea eax, [eax*2 + 0x1a]
mov dword [esp + 0x4c], edx
push eax
call fcn.0040c700
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x44]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x42e6d1
mov edx, dword [esp + 0x64]
mov eax, edi
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e6c0
mov dword [esp + 0x48], edi
mov dword [esp + 0x54], esi
mov word [eax], 0x5c
add eax, 2
mov dword [esp + 4], 0x51824f90
mov dword [esp + 8], 0x55b753a1
mov dword [esp + 0xc], 0x59ba57b7
mov dword [esp + 0x10], 0x5d8f5b78
mov dword [esp + 0x14], 0x61bd5fa8
mov dword [esp + 0x18], 0x65856394
mov word [esp + 0x1c], 0x6764
lea ecx, [esp + 4]
mov word [ecx + 0x1e], 0
mov dword [ecx + 0x1a], 0
mov ecx, 0x2306e50d
mov edx, 0xdcf91af2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x2306e509]
mov esi, edx
and esi, 0xd808182f
mov edi, ecx
and edi, 0x23022110
or edi, esi
xor ebx, 0xd80cdc2f
mov esi, ebx
and esi, edi
add ebx, edi
add esi, esi
sub ebx, esi
add bl, 0xbf
mov byte [esp + ecx - 0x2306e509], bl
inc ecx
dec edx
cmp ecx, 0x2306e52d
jne 0x42e740
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
test cx, cx
je 0x42e7c0
add edx, 2
mov esi, dword [esp + 0x48]
nop
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 0x42e7a0
jmp 0x42e7c4
mov esi, dword [esp + 0x48]
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x42e7f1
lea edx, [esp + 6]
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 0x42e7e0
mov word [eax], 0
lea eax, [esp + 0x58]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.004459e0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e0c8]
xor ebx, ebx
jmp dword [0x44e128]
push esi
call fcn.0040c710
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x44e140]
lea eax, [esp + 0x7c]
push 0
push eax
push dword [esp + 0x60]
call fcn.00445d40
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x44e0d0]
mov esi, dword [esp + 0x7c]
lea eax, [esi + 1]
push eax
call fcn.0040c700
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0x64]
call fcn.00445e20
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44e0d8]
mov eax, dword [esp + 0x7c]
mov byte [esi + eax], 0
push esi
call fcn.00403de0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44e0e0]
xor ebx, ebx
jmp 0x42ece8
mov dword [esp + 0x60], esi
mov dword [esp + 0x84], eax
push eax
call fcn.00404700
add esp, 4
mov dword [esp + 4], 0x8c8b9e95
mov dword [esp + 8], 0x999e909e
mov dword [esp + 0xc], 0x9480985e
mov dword [esp + 0x10], 0x81868886
mov dword [esp + 0x14], 0x949b9f9f
mov word [esp + 0x18], 0x8093
mov byte [esp + 0x1a], 0x3e
lea ecx, [esp + 4]
mov byte [ecx + 0x1b], 0
mov dword [ecx + 0x17], 0
mov ecx, 0x33847d87
mov edx, 0xc7b8278
nop
nop
nop
nop
nop
nop
mov ebx, ecx
not ebx
movzx esi, byte [esp + ecx - 0x33847d83]
lea ebp, [edx - 0xc7b8240]
not ebp
or ebp, ecx
or ebp, 0x8c
or ebx, edx
or ebx, 0xb3
and ebx, ebp
and ebx, 0xbf
xor ebx, esi
xor ebx, 0xc
add bl, 0x5d
mov byte [esp + ecx - 0x33847d83], bl
inc ecx
dec edx
cmp ecx, 0x33847da3
jne 0x42e920
lea ebp, [esp + 4]
push ebp
push eax
call fcn.00404840
add esp, 8
mov ecx, 0xffffffff
mov esi, 0xfffffffe
mov ebx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add esi, 2
add ebx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x42e990
shr ebx, 2
mov dword [esp + 0x38], ecx
xor ecx, 1
mov edx, esi
and edx, 0xfffffffc
sub edx, ecx
movzx ecx, byte [eax + edx]
cmp ecx, 0x3d
je 0x42e9bf
cmp ecx, 0x2e
jne 0x42e9c0
dec ebx
mov ecx, dword [esp + 0x38]
xor ecx, 2
and esi, 0xfffffffa
sub esi, ecx
movzx ecx, byte [eax + esi]
cmp ecx, 0x3d
mov dword [esp + 0x40], eax
je 0x42e9de
cmp ecx, 0x2e
jne 0x42e9df
dec ebx
mov dword [esp + 0x80], ebx
lea eax, [ebx + 1]
push eax
call fcn.0040c700
add esp, 4
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x38], 0
je 0x42eaeb
xor ebp, ebp
mov esi, 2
jmp 0x42ea23
lea eax, [esi + 4]
add esi, 2
mov ebp, dword [esp]
cmp esi, edx
mov esi, eax
jae 0x42eaeb
mov ebx, dword [esp + 0x40]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00422ed0
add esp, 4
mov byte [esp], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.00422ed0
mov edx, dword [esp + 0x3c]
add esp, 4
mov bh, al
movzx ecx, byte [esp]
shl cl, 2
shr al, 4
and al, 3
or al, cl
lea ecx, [ebp + 1]
mov dword [esp], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x6c], ebp
mov byte [ecx + ebp], al
cmp esi, edx
jae 0x42ea10
mov eax, dword [esp + 0x40]
movzx eax, byte [eax + esi]
push eax
call fcn.00422ed0
mov edx, dword [esp + 0x3c]
add esp, 4
cmp al, 0x40
je 0x42ea10
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov ebp, dword [esp + 0x6c]
lea ecx, [ebp + 2]
mov dword [esp], ecx
mov ecx, dword [esp + 0x3c]
mov byte [ecx + ebp + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42ea10
mov eax, dword [esp + 0x40]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00422ed0
mov edx, dword [esp + 0x3c]
add esp, 4
cmp al, 0x40
je 0x42ea10
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x6c]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov dword [esp], ebx
jmp 0x42ea10
mov eax, dword [esp + 0x80]
add eax, 0xfffffffb
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x3c]
add eax, 5
mov dword [esp + 0x8c], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
push 0x31f26afb
push dword [0x451d78]
call fcn.00445040
add esp, 8
lea ecx, [esp + 0x74]
lea edx, [esp + 0x88]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44e0e8]
xor ebx, ebx
mov esi, dword [esp + 0x60]
jmp dword [0x44e0f8]
cmp dword [esp + 0x54], 0xfffffff8
jge 0x42eb6e
mov eax, 0xffffffff
jmp 0x42eb75
mov eax, dword [esp + 0x68]
add eax, 0x10
push eax
call fcn.0040c700
add esp, 4
mov dword [esp + 0x40], eax
mov dword [esp + 4], 0xff1af92b
mov dword [esp + 8], 0xe330fd6c
mov dword [esp + 0xc], 0xe77ee174
mov dword [esp + 0x10], 0xebeae570
mov eax, 0x53f82c2a
mov ecx, 0xac07d3d6
mov esi, 0xac07d3d5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp], ecx
movzx edx, byte [esp + eax - 0x53f82c26]
mov ebx, edx
not ebx
mov ebp, ebx
and ebp, 0xd3
or ebx, 0x2c
add edx, ebx
inc edx
or edx, ebp
mov dword [esp + 0x38], edx
mov ebp, eax
or ebp, 0xd1a28d3
mov ecx, dword [esp]
add ecx, ebp
mov ebx, esi
and ebx, 0xa005d30c
mov edx, esi
or edx, 0xd3
and edx, ecx
xor ebx, ecx
mov ecx, dword [esp]
xor ebx, 0x2c
add ebx, ebp
sub ebx, edx
add ebx, ecx
xor ebx, dword [esp + 0x38]
add bl, 0x2e
mov byte [esp + eax - 0x53f82c26], bl
inc eax
dec ecx
dec esi
cmp eax, 0x53f82c3a
jne 0x42ebc0
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
mov ebx, dword [esp + 0x40]
mov eax, ebx
test cx, cx
je 0x42ec51
add edx, 2
mov eax, ebx
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ec40
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
mov esi, dword [esp + 0x60]
je 0x42ec81
lea edx, [esp + 6]
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 0x42ec70
mov word [eax], 0
mov ecx, dword [esp + 0x108]
push dword [esp + 0x74]
push dword [esp + 0x7c]
push ebx
call fcn.0040d0a0
mov ecx, ebx
mov ebx, eax
jmp dword [0x44e0f0]
push ecx
call fcn.0040c710
add esp, 4
push 0xd80d2c4a
push dword [0x451d60]
call fcn.00445040
add esp, 8
push dword [esp + 0x78]
call eax
jmp dword [0x44e0f8]
push dword [esp + 0x3c]
call fcn.0040c710
add esp, 4
push dword [esp + 0x84]
call fcn.00404970
add esp, 4
mov eax, dword [case.0x42e5e7.7]
nop
nop
nop
jmp eax
jmp dword [0x44e120]
push esi
call fcn.0040c710
add esp, 4
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], 0x54554a4b
lea eax, [esp + 4]
mov byte [eax + 6], 0
mov word [eax + 4], 0
xor ecx, ecx
movzx esi, byte [esp + ecx + 4]
mov ebp, edi
and ebp, 0xc
mov edx, ecx
xor edx, 0x7af9e8ee
add edx, ebp
mov ebp, esi
xor ebp, 0xb5
mov eax, edx
xor eax, 0xb5
or eax, ebp
xor esi, 0x4a
xor edx, 0x4a
or edx, esi
and edx, eax
add dl, 0x5a
mov byte [esp + ecx + 4], dl
inc ecx
add edi, 2
cmp ecx, 7
jne 0x42ed20
mov ecx, dword [0x451d6c]
test ecx, ecx
je 0x42eda0
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x451d70]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42ed90
inc esi
cmp ecx, esi
jne 0x42ed80
jmp 0x42eda0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42f0f5
nop
nop
nop
nop
mov esi, dword [esp + 0x48]
jmp dword [0x44e128]
push dword [esp]
push 1
push dword [0x451d74]
push ecx
call fcn.00442ab0
add esp, 0x10
mov esi, dword [esp + 0x48]
jmp dword [0x44e128]
in eax, 0x42
add byte [esi], dh
out 0x42, al
add ah, dh
in eax, 0x42
add byte [eax], al
out 0x42, al
add byte [ecx], bl
call 0xe884e110
inc edx
add byte [ecx], al
in eax, dx
inc edx
add byte [ebx - 0x18], ah
inc edx
add dl, dh
in al, dx
inc edx
add byte [ebx - 0x4dffbd18], dl
call 0xe8fde128
inc edx
add byte [ebx + ebp*8 + 0x42], dl
add byte [eax - 0x15], ah
inc edx
add byte [ebp - 0x51ffbd14], ah
in al, dx
inc edx
add ch, cl
in al, dx
inc edx
add cl, bl
in al, dx
inc edx
add al, dh
in al, dx
inc edx
add al, dh
in al, dx
inc edx
add dl, dh
in al, dx
inc edx
add al, dh
in al, dx
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dl, dh
in al, dx
inc edx
add byte [ecx], al
add byte [eax], al
add al, bh
in al, dx
inc edx
add byte [ecx], al
in eax, dx
inc edx
add byte [ecx], ah
call 0xedeee170
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x10042ed], ch
add byte [eax], al
add byte [eax], ah
out 0x42, al
add byte [ebp + ebp*8 - 0xf48ffbe], dh
inc edx
add al, dl
invalid