Function at 0x40df00
Capabilities:
Encode data using xor
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd30
mov eax, dword [0x447ba4]
mov dword [esp], eax
mov dword [esp + 0x110], 0x8b4f3b66
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11b], 0
mov eax, 0x18f2266b
mov edx, 0xe70dd995
nop
nop
nop
movzx esi, byte [esp + eax - 0x18f2255b]
mov edi, esi
not edi
or edi, edx
add edi, eax
and esi, edx
or esi, edi
mov dword [esp + 0x238], esi
mov ebx, dword [esp + 0x238]
add bl, 0x1a
mov byte [esp + eax - 0x18f2255b], bl
inc eax
dec edx
cmp eax, 0x18f2267a
jne 0x40df50
mov edx, dword [str.LPnhqo__nfzeonwcituc]
mov dword [esp + 0x238], 0xce16eaed
mov dword [esp + 0x23c], 0x1ee1e416
mov dword [esp + 0x240], 0x26d9e00e
mov dword [esp + 0x244], 0xde292edd
mov dword [esp + 0x248], 0x39e8d827
mov dword [esp + 0x24c], 0xe3fb27d5
mov dword [esp + 0x250], 0x37f0e5e6
mov dword [esp + 0x254], 0xafe3cd31
mov eax, 0xe7969016
mov ecx, 0x18696fe9
nop
nop
nop
movzx edi, byte [esp + eax + 0x18697222]
mov esi, ecx
and esi, 0x18200de9
mov ebx, eax
and ebx, 0xa6109016
or ebx, esi
xor ebx, 0xa659f216
or ebx, edi
and edi, ecx
lea esi, [edi + edi]
not esi
add esi, edi
and esi, ebx
lea edi, [esi + esi]
not edi
add edi, esi
mov dword [esp + 0x18], edi
mov ebx, dword [esp + 0x18]
add bl, 0x66
mov byte [esp + eax + 0x18697222], bl
inc eax
dec ecx
cmp eax, 0xe7969036
jne 0x40dff0
movzx ebx, byte [esp + 0x238]
lea eax, [esp + 0xaa0]
test bl, bl
je 0x40e06d
lea esi, [esp + 0x239]
mov ecx, dword [esp]
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x40e060
jmp 0x40e070
mov ecx, dword [esp]
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x40e08b
inc edx
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x40e080
mov byte [eax], 0
movzx edx, byte [esp + 0x110]
test dl, dl
je 0x40e0bb
lea esi, [esp + 0x111]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x40e0b0
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x40e0db
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x40e0d0
mov byte [eax], 0
mov dword [esp + 0x238], 0x33a5358b
mov dword [esp + 0x23c], 0x2fbc31a0
mov dword [esp + 0x240], 0x2bbe2db5
mov dword [esp + 0x244], 0x277b29a6
mov dword [esp + 0x248], 0x23a3258a
mov dword [esp + 0x24c], 0x1fbb21b2
mov dword [esp + 0x250], 0x1b7c1d58
mov dword [esp + 0x254], 0x17881985
mov dword [esp + 0x258], 0x13801586
mov dword [esp + 0x25c], 0xf8d1185
mov dword [esp + 0x260], 0xb800d91
mov dword [esp + 0x264], 0x799099d
mov dword [esp + 0x268], 0x3550594
mov dword [esp + 0x26c], 0x7f53018a
mov dword [esp + 0x270], 0x7bf57df7
mov dword [esp + 0x274], 0x772b79f3
mov dword [esp + 0x278], 0x73e575ec
mov dword [esp + 0x27c], 0x6fe371fc
mov dword [esp + 0x280], 0x6be76d3d
mov dword [esp + 0x284], 0x67fc69e4
mov dword [esp + 0x288], 0x63f665fd
mov dword [esp + 0x28c], 0x5ff161ff
mov dword [esp + 0x290], 0x5bc75dc2
mov dword [esp + 0x294], 0x572b59c6
mov dword [esp + 0x298], 0x53545520
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x29c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x238]
lea esi, [ecx - 0x743a06f7]
xor esi, edx
mov dword [esp + 0x110], esi
mov edx, dword [esp + 0x110]
mov esi, edx
not esi
and esi, 0x12df329e
and edx, 0xed20cd61
sub edx, esi
mov esi, 0xd269cf3e
sub esi, edx
add edx, 0x2d9630c1
and esi, 0x8339a702
and edx, 0x7cc658fd
sub edx, esi
add edx, 0x12df329e
mov esi, edx
and esi, 2
xor edx, 2
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x238], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0x70
jb 0x40e220
mov dword [esp + 0x110], 0xf393cd9f
mov dword [esp + 0x114], 0xf79ff160
mov word [esp + 0x118], 0xf5f4
mov dword [esp + 0x11a], 0
mov dword [esp + 0x11e], 0
mov dword [esp + 0x122], 0
mov word [esp + 0x126], 0
mov ecx, 0x9f9ea5f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x9f9e94f]
lea esi, [ecx - 1]
xor esi, edx
mov dword [esp + 0x18], esi
mov edx, dword [esp + 0x18]
add dl, 0x6e
mov byte [esp + ecx - 0x9f9e94f], dl
movzx edx, byte [esp + ecx - 0x9f9e94e]
xor edx, ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x18]
add dl, 0x6e
mov byte [esp + ecx - 0x9f9e94e], dl
add ecx, 2
cmp ecx, 0x9f9ea77
jne 0x40e2f0
lea ecx, [esp + 0xaa0]
sub eax, ecx
lea edx, [esp + 0xfc]
lea esi, [esp + 0xac]
lea edi, [esp + 0x238]
lea ebx, [esp + 0x110]
push edx
push esi
push eax
push ecx
push edi
push ebx
push 0x44da7c
call fcn.0040c7a0
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x448920]