Function at 0x419c60
Capabilities:
Check for software breakpoints
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe0
mov esi, esp
mov edi, ecx
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc0], 0
mov dword [esi + 0xbc], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 2
mov dword [esi + 0xb8], 1
push 0x565577c1
push dword [0x445c28]
call fcn.00439e30
add esp, 8
lea ecx, [esi + 0x28]
lea edx, [esi + 0xb0]
push ecx
push edx
push dword [ebp + 0xc]
push dword [ebp + 8]
call eax
test eax, eax
je 0x419cfb
cmp dword [edi], 0xffffffff
jne 0x419da6
jmp 0x41a233
push 0xb646c33f
push dword [0x445c28]
call fcn.00439e30
add esp, 8
mov dword [esi], eax
push 0xe7db718c
push dword [0x445c28]
call fcn.00439e30
add esp, 8
mov dword [esi + 4], eax
push 0xa3d60213
push dword [0x445c28]
call fcn.00439e30
add esp, 8
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x28]
jmp 0x419d53
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
je 0x419d85
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
call dword [esi]
mov dword [edi], eax
cmp eax, 0xffffffff
je 0x419d50
push dword [ebx + 0x10]
push dword [ebx + 0x18]
push eax
call dword [esi + 4]
cmp eax, 0xffffffff
jne 0x419d85
push dword [edi]
call dword [esi + 8]
mov dword [edi], 0xffffffff
jmp 0x419d50
push 0xeb17dc3b
push dword [0x445c28]
call fcn.00439e30
add esp, 8
push dword [esi + 0x28]
call eax
cmp dword [edi], 0xffffffff
je 0x41a233
mov ecx, dword [ebp + 0x10]
mov eax, 0x8d
nop
nop
cmp byte [ecx + eax - 0x8d], 0
lea eax, [eax + 1]
jne 0x419db0
mov edx, dword [ebp + 8]
inc eax
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x419dc0
mov dword [esi + 0x1c], edi
mov edx, dword [ebp + 0xc]
nop
inc eax
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x419dd0
add eax, 3
and eax, 0xfffffffc
call fcn.00408650
mov eax, esp
and eax, 0xfffffff0
mov dword [esi], eax
mov esp, eax
mov dword [esi + 0x30], 0x4b4a41a8
mov dword [esi + 0x34], 0x61636644
mov dword [esi + 0x38], 0x77888461
mov dword [esi + 0x3c], 0x7d26222f
mov dword [esi + 0x40], 0xb998
mov eax, 0x4d9fb9de
mov edi, 0x32604621
nop
nop
nop
nop
nop
nop
mov edx, edi
and edx, 0x20600431
mov ebx, eax
and ebx, 0x401b390e
or ebx, edx
movzx edx, byte [esi + eax - 0x4d9fb9ae]
xor ebx, edx
xor ebx, 0xade484f1
add ebx, 0xfad34f74
mov edx, ebx
xor edx, 0xcb
and ebx, 0x34
add ebx, ebx
sub ebx, edx
inc bl
mov byte [esi + eax - 0x4d9fb9ae], bl
inc eax
dec edi
cmp eax, 0x4d9fb9f2
jne 0x419e20
mov dword [esi + 0xc], 0x93aebcbf
mov byte [esi + 0x10], 0x7c
mov dword [esi + 0x11], 0
mov byte [esi + 0x15], 0
mov eax, 0x14
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + eax - 8]
mov ebx, edx
and ebx, eax
add bl, bl
sub dl, bl
movzx edx, dl
add edx, eax
add dl, 0x9c
mov byte [esi + eax - 8], dl
inc eax
cmp eax, 0x1e
jne 0x419e90
movzx eax, byte [esi + 0xc]
mov ebx, dword [esi]
test al, al
je 0x419ecb
lea edx, [esi + 0xd]
mov ebx, dword [esi]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x419ec0
mov byte [ebx], 0
movzx eax, byte [ecx]
test al, al
je 0x419eed
inc ecx
mov edx, dword [ebp + 8]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x419ee0
jmp 0x419ef0
mov edx, dword [ebp + 8]
mov byte [ebx], 0
movzx eax, byte [esi + 0x30]
test al, al
je 0x419f0b
lea ecx, [esi + 0x31]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x419f00
mov byte [ebx], 0
movzx eax, byte [edx]
test al, al
je 0x419f2b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x419f20
mov byte [ebx], 0x3a
mov dword [esi + 0x30], 0x129e5e3
mov dword [esi + 0x34], 0x31310109
mov dword [esi + 0x38], 0xf6dd33
mov dword [esi + 0x3c], 0x1c1f292f
mov dword [esi + 0x40], 0x15291229
mov dword [esi + 0x44], 0x14c7f9ff
mov dword [esi + 0x48], 0x5c21191a
mov dword [esi + 0x4c], 0x636b606c
mov dword [esi + 0x50], 0x61499fb6
mov dword [esi + 0x54], 0x51516169
mov dword [esi + 0x58], 0x5c8c8853
mov dword [esi + 0x5c], 0x44b54e4f
mov dword [esi + 0x60], 0x705b4d4b
mov dword [esi + 0x64], 0x71457e45
mov dword [esi + 0x68], 0x52415abb
mov dword [esi + 0x6c], 0x6862bb92
mov dword [esi + 0x70], 0x817b4d43
mov dword [esi + 0x74], 0x7e4e6c45
mov dword [esi + 0x78], 0x70954a63
mov dword [esi + 0x7c], 0x7c9d5457
mov dword [esi + 0x80], 0x93775f7c
mov dword [esi + 0x84], 0x6c7b6078
mov dword [esi + 0x88], 0x43b98859
mov dword [esi + 0x8c], 0x629f9c8d
mov dword [esi + 0x90], 0x849c9895
mov dword [esi + 0x94], 0x92af96a1
mov dword [esi + 0x98], 0x8e8068a0
mov dword [esi + 0x9c], 0xbcb1beba
mov dword [esi + 0xa0], 0x724e65b2
mov dword [esi + 0xa4], 0x5a585c75
mov word [esi + 0xa8], 0x275e
mov byte [esi + 0xac], 0
mov word [esi + 0xaa], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
and edx, 0x5b
xor edx, 0xdb
mov ecx, eax
and ecx, 0x24
sub ecx, edx
xor cl, byte [esi + eax + 0x30]
add cl, 0x47
mov byte [esi + eax + 0x30], cl
inc eax
cmp eax, 0x7d
jne 0x41a040
inc ebx
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx]
test al, al
je 0x41a07b
inc ecx
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41a070
mov byte [ebx], 0
movzx eax, byte [esi + 0x30]
test al, al
je 0x41a09b
lea ecx, [esi + 0x31]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41a090
mov byte [ebx], 0
mov edi, dword [esi]
sub ebx, edi
push 0xefae2064
push dword [0x445c28]
call fcn.00439e30
add esp, 8
push 0
push ebx
push edi
mov edi, dword [esi + 0x1c]
push dword [edi]
call eax
cmp eax, 0xffffffff
jne 0x41a107
cmp dword [edi], 0xffffffff
je 0x41a107
push 0xea8d1240
push dword [0x445c28]
call fcn.00439e30
add esp, 8
push 2
push dword [edi]
call eax
push 0xa3d60213
push dword [0x445c28]
call fcn.00439e30
add esp, 8
push dword [edi]
call eax
mov dword [edi], 0xffffffff
xor eax, eax
jmp 0x41a656
cmp eax, 0xffffffff
je 0x41a233
push 0x400
call fcn.00408680
add esp, 4
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
add eax, 0x400
mov dword [esi + 0x14], eax
lea eax, [esi + 0xc]
mov ecx, edi
push eax
call fcn.0041a660
mov cl, 1
mov dword [esi + 4], ecx
test al, al
je 0x41a63e
mov ebx, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
mov edx, edi
sub edx, ebx
mov eax, ebx
cmp edi, dword [esi + 0x14]
jne 0x41a29b
lea eax, [edx + 1]
mov ecx, edx
shr ecx, 1
mov dword [esi], edx
mov dword [esi + 0x20], ecx
add ecx, edx
cmp ecx, eax
ja 0x41a16c
mov ecx, eax
mov dword [esi + 4], ecx
push ecx
call fcn.00408680
add esp, 4
test ebx, ebx
je 0x41a288
cmp eax, ebx
mov dword [esi + 8], ebx
mov edx, dword [esi]
mov dword [esi + 0x18], eax
mov dword [esi + 0x24], edi
jbe 0x41a23a
cmp edi, eax
jbe 0x41a23a
test edx, edx
je 0x41a274
mov ebx, dword [esi + 8]
mov edx, dword [esi]
lea eax, [ebx + edx]
dec eax
mov ecx, dword [esi + 0x18]
add ecx, edx
dec ecx
mov edi, edx
and edi, 7
je 0x41a1d2
neg edi
xor edx, edx
movzx ebx, byte [eax + edx]
mov byte [ecx + edx], bl
dec edx
cmp edi, edx
jne 0x41a1bd
add eax, edx
add ecx, edx
add edx, dword [esi]
mov ebx, dword [esi + 8]
mov edi, ebx
sub edi, dword [esi + 0x24]
cmp edi, 0xfffffff8
ja 0x41a274
neg edx
xor edi, edi
movzx ebx, byte [eax + edi]
mov byte [ecx + edi], bl
movzx ebx, byte [eax + edi - 1]
mov byte [ecx + edi - 1], bl
movzx ebx, byte [eax + edi - 2]
mov byte [ecx + edi - 2], bl
movzx ebx, byte [eax + edi - 3]
mov byte [ecx + edi - 3], bl
movzx ebx, byte [eax + edi - 4]
mov byte [ecx + edi - 4], bl
movzx ebx, byte [eax + edi - 5]
mov byte [ecx + edi - 5], bl
movzx ebx, byte [eax + edi - 6]
mov byte [ecx + edi - 6], bl
movzx ebx, byte [eax + edi - 7]
mov byte [ecx + edi - 7], bl
add edi, 0xfffffff8
cmp edx, edi
jne 0x41a1e4
jmp 0x41a274
xor eax, eax
jmp 0x41a656
mov ecx, edx
shr ecx, 2
mov edx, ebx
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi]
and edx, 0xfffffffc
add eax, edx
add edx, ebx
mov ebx, eax
mov ecx, dword [esi + 0x20]
and ecx, 1
mov eax, edx
mov edi, ebx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test byte [esi], 1
je 0x41a274
mov eax, dword [esi]
and eax, 2
movzx ecx, byte [edx + eax]
mov byte [ebx + eax], cl
push dword [esi + 0xc]
call fcn.00408690
add esp, 4
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x24]
mov dword [esi + 0xc], eax
mov edx, dword [esi]
lea ecx, [eax + edx]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 4]
add ecx, eax
mov dword [esi + 0x14], ecx
mov ecx, ebx
xor ecx, edi
not ebx
and ebx, edi
add ebx, ebx
sub ebx, ecx
cmp ebx, edx
jae 0x41a2cb
lea ecx, [eax + ebx]
inc ecx
mov dword [esi], ecx
add eax, ebx
mov edx, eax
xor ecx, ecx
mov edi, dword [esi]
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
xor ecx, ecx
mov edi, dword [esi]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0xc]
mov byte [eax + ebx], 0
mov eax, dword [esi + 0xc]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x30], 0x53565558
mov dword [esi + 0x34], 0x7678747b
mov dword [esi + 0x38], 0xa0a0878
mov byte [esi + 0x3c], 0x5c
mov dword [esi + 0x3d], 0
mov dword [esi + 0x40], 0
mov ecx, 0xb8
mov edi, 0x39b1647
nop
movzx edx, byte [esi + ecx - 0x88]
lea ebx, [ecx - 0xb9b1700]
mov eax, edi
and eax, 0x3191627
and ebx, 0xe0044858
or ebx, eax
mov eax, ebx
xor eax, 0x58
add ebx, ebx
xor ebx, 0xb1
sub eax, ebx
and eax, edx
lea ebx, [eax + eax]
not ebx
add ebx, eax
or edx, ecx
and edx, ebx
add dl, 0x68
mov byte [esi + ecx - 0x88], dl
inc ecx
dec edi
cmp ecx, 0xcc
jne 0x41a310
movzx edx, byte [esi + 0x30]
mov eax, dword [esi + 8]
mov dword [esi + 4], eax
test dl, dl
mov edi, dword [esi + 0x1c]
je 0x41a3ad
lea ebx, [esi + 0x30]
mov eax, dword [esi + 8]
mov ecx, eax
mov dword [esi + 4], eax
jmp 0x41a38a
movzx edx, byte [ebx]
test dl, dl
mov edi, dword [esi + 0x1c]
je 0x41a3ad
movzx eax, byte [ecx]
test al, al
je 0x41a62b
inc ebx
inc ecx
mov edi, dword [esi + 4]
inc edi
cmp al, dl
je 0x41a3a6
mov eax, edi
mov dword [esi + 4], edi
mov ecx, edi
je 0x41a380
lea ebx, [esi + 0x30]
jmp 0x41a380
cmp dword [esi + 4], 0
je 0x41a62b
mov ebx, dword [esi + 8]
jmp 0x41a3c8
cmp al, dl
je 0x41a63e
mov edx, ebx
mov eax, dword [esi]
sub edx, eax
je 0x41a3f1
mov dword [esi], eax
mov dword [esi + 4], eax
xor ecx, ecx
mov edi, ebx
mov eax, dword [esi + 4]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
xor ecx, ecx
mov edi, ebx
mov eax, dword [esi]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x1c]
add dword [esi + 0x10], edx
mov ecx, edi
lea eax, [esi + 0xc]
push eax
call fcn.0041a660
test al, al
je 0x41a637
mov dword [esi + 4], eax
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
mov edi, ebx
sub edi, edx
mov eax, edx
cmp ebx, dword [esi + 0x14]
jne 0x41a579
mov dword [esi + 8], ebx
mov dword [esi], edx
lea eax, [edi + 1]
mov ecx, edi
shr ecx, 1
mov dword [esi + 0x20], ecx
lea ebx, [ecx + edi]
cmp ebx, eax
ja 0x41a434
mov ebx, eax
push ebx
call fcn.00408680
add esp, 4
mov edx, dword [esi]
test edx, edx
je 0x41a568
mov dword [esi + 0x2c], ebx
cmp eax, edx
mov dword [esi + 0x18], edi
mov dword [esi + 0x24], eax
jbe 0x41a50f
cmp dword [esi + 8], eax
jbe 0x41a50f
test edi, edi
je 0x41a552
mov eax, dword [esi]
mov edx, dword [esi + 0x18]
add eax, edx
dec eax
mov ecx, dword [esi + 0x24]
add ecx, edx
dec ecx
mov edi, edx
and edi, 7
je 0x41a4a3
neg edi
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax + edx]
mov byte [ecx + edx], bl
dec edx
cmp edi, edx
jne 0x41a490
add eax, edx
add ecx, edx
add edx, dword [esi + 0x18]
mov edi, dword [esi]
sub edi, dword [esi + 8]
cmp edi, 0xfffffff8
ja 0x41a552
neg edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax + edi]
mov byte [ecx + edi], bl
movzx ebx, byte [eax + edi - 1]
mov byte [ecx + edi - 1], bl
movzx ebx, byte [eax + edi - 2]
mov byte [ecx + edi - 2], bl
movzx ebx, byte [eax + edi - 3]
mov byte [ecx + edi - 3], bl
movzx ebx, byte [eax + edi - 4]
mov byte [ecx + edi - 4], bl
movzx ebx, byte [eax + edi - 5]
mov byte [ecx + edi - 5], bl
movzx ebx, byte [eax + edi - 6]
mov byte [ecx + edi - 6], bl
movzx ebx, byte [eax + edi - 7]
mov byte [ecx + edi - 7], bl
add edi, 0xfffffff8
cmp edx, edi
jne 0x41a4c0
jmp 0x41a552
mov ecx, edi
shr ecx, 2
mov ebx, edx
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ecx, edx
mov ebx, dword [esi + 0x18]
mov edx, ebx
and edx, 0xfffffffc
lea edi, [eax + edx]
add edx, ecx
mov ecx, dword [esi + 0x20]
and ecx, 1
mov eax, edx
mov dword [esi + 0x20], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
je 0x41a552
mov eax, dword [esi + 0x18]
and eax, 2
movzx ecx, byte [edx + eax]
mov edx, dword [esi + 0x20]
mov byte [edx + eax], cl
push dword [esi + 0xc]
call fcn.00408690
add esp, 4
mov edx, dword [esi]
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x2c]
mov dword [esi + 0xc], eax
lea ecx, [eax + edi]
mov dword [esi + 0x10], ecx
add ebx, eax
mov dword [esi + 0x14], ebx
mov ebx, dword [esi + 8]
mov ecx, edx
xor ecx, ebx
not edx
and edx, ebx
add edx, edx
sub edx, ecx
cmp edx, edi
jae 0x41a5b0
lea ebx, [eax + edx]
inc ebx
add eax, edx
mov dword [esi], edx
mov edx, eax
mov edi, ebx
xor ecx, ecx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi]
mov edi, ebx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x1c]
mov eax, dword [esi + 0xc]
jmp 0x41a5b3
mov edi, dword [esi + 0x1c]
mov byte [eax + edx], 0
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov word [esi + 0x30], 0x3735
mov byte [esi + 0x32], 0x3e
lea eax, [esi + 0x33]
mov byte [eax + 2], 0
mov word [eax], 0
mov ecx, 0x1a65344a
nop
nop
movzx eax, byte [esi + ecx - 0x1a65341a]
xor eax, ecx
mov edx, eax
and edx, 0xd
xor eax, 0x8d
lea eax, [eax + edx*2]
inc al
mov byte [esi + ecx - 0x1a65341a], al
inc ecx
cmp ecx, 0x1a653450
jne 0x41a5e0
xor ecx, ecx
nop
nop
nop
nop
nop
movzx eax, byte [ebx + ecx]
movzx edx, byte [esi + ecx + 0x30]
test al, al
je 0x41a3c0
inc ecx
cmp al, dl
je 0x41a610
jmp 0x41a3c0
mov ecx, edi
push 0x3ea
call fcn.00419970
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x41a653
cmp eax, dword [esi + 0x10]
je 0x41a653
push eax
call fcn.00408690
add esp, 4
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc