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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov dword [esp + 0x28], 0x1aeefee3
mov dword [esp + 0x2c], 0xe6e4e0e4
lea edx, [esp + 0x30]
mov byte [esp + 0x30], 0x5c
mov dword [esp + 0x31], 0
mov word [esp + 0x35], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0xe
ja 0x40b503
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xfa60f26f
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xd5
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 0xf
jb 0x40b4d0
lea eax, [esp + 0x1c]
lea esi, [esp + 0x28]
mov ebx, esi
mov edi, eax
mov ecx, 2
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0x24]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
movzx ecx, byte [esp + 0x30]
mov byte [esp + 0x24], cl
mov dword [esp + 0x28], 0xe37de1a3
mov dword [esp + 0x2c], 0xe772e57a
mov dword [esp + 0x30], 0xdb44d97d
mov dword [esp + 0x34], 0xdf83dd48
mov dword [esp + 0x38], 0xd35bd164
mov dword [esp + 0x3c], 0xd773d544
mov dword [esp + 0x40], 0xcbaac982
mov dword [esp + 0x44], 0xcf5ecd6d
mov dword [esp + 0x48], 0xc35ec150
mov dword [esp + 0x4c], 0xc765c55d
mov dword [esp + 0x50], 0x3bae3999
mov dword [esp + 0x54], 0x3fa13da5
mov dword [esp + 0x58], 0x336d31ae
mov dword [esp + 0x5c], 0x376b35bc
mov dword [esp + 0x60], 0x2bbd29bf
mov dword [esp + 0x64], 0x2f732dbb
mov dword [esp + 0x68], 0x23bd2186
mov dword [esp + 0x6c], 0x27bb25b6
mov dword [esp + 0x70], 0x1b8f1945
mov dword [esp + 0x74], 0x1f821d8e
mov dword [esp + 0x78], 0x138c11b5
mov dword [esp + 0x7c], 0x178915b7
mov dword [esp + 0x80], 0xbaf09ac
mov dword [esp + 0x84], 0xf730da8
mov dword [esp + 0x88], 0x302017a
mov byte [esp + 0x8e], 0
mov word [esp + 0x8c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x66
ja 0x40b660
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
add ecx, 0x99bbb9d8
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xc8
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x67
jb 0x40b630
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc], 0x41e54715
mov dword [esp + 0x10], 0x4de943d0
mov word [esp + 0x14], 0x4f4c
mov dword [esp + 0x16], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xd
ja 0x40b6d3
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov edi, dword [esp + 4]
movzx edi, byte [esp + edi + 0xc]
add edx, 0x68ffb1f1
xor edx, edi
mov dword [esp], edx
mov edx, dword [esp]
add dl, 0x4b
mov edi, dword [esp + 4]
mov byte [esp + edi + 0xc], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xe
jb 0x40b6a0
lea edx, [esp + 4]
lea edi, [esp + 0xc]
push 0
push edx
push 8
push eax
push esi
push edi
push ecx
call fcn.0040c200
add esp, 0x1c
test al, al
je 0x40b814
mov word [esp + 0x28], 0x2615
mov byte [esp + 0x2a], 0xba
mov dword [esp + 0x2b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x40b74e
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xac37fadf
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xa5
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x40b720
xor eax, eax
mov ecx, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ecx + eax]
mov dh, byte [esp + eax + 0x28]
test dl, dl
je 0x40b771
inc eax
cmp dl, dh
je 0x40b760
mov al, 1
mov dword [esp + 8], eax
cmp dl, dh
je 0x40b9f2
mov dword [esp + 0x28], 0xb74144b3
mov dword [esp + 0x2c], 0x27b8babd
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x40b7ce
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xa8606db8
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x68
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x40b7a0
mov eax, dword [esp + 4]
movzx ebx, byte [esp + 0x28]
test bl, bl
je 0x40b81b
mov edx, esi
mov ecx, eax
jmp 0x40b7f7
movzx ebx, byte [edx]
test bl, bl
je 0x40b81d
mov bh, byte [eax]
test bh, bh
je 0x40b9ea
inc eax
inc edx
lea edi, [ecx + 1]
cmp bh, bl
je 0x40b80e
mov ecx, edi
mov eax, edi
je 0x40b7f0
mov edx, esi
jmp 0x40b7f0
xor eax, eax
jmp 0x40ba02
mov ecx, eax
test ecx, ecx
je 0x40b9ea
mov dword [esp + 0x28], 0x467f407e
mov dword [esp + 0x2c], 0x734787a9
mov dword [esp + 0x30], 0xbbb84247
mov dword [esp + 0x34], 0x4a427c4a
mov dword [esp + 0x38], 0xd3b09c75
mov dword [esp + 0x3c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x40b89e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x2db4c58
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x48
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x40b870
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x28]
test cl, cl
je 0x40b8e4
lea edi, [esp + 0x28]
mov edx, edi
mov esi, eax
jmp 0x40b8c7
movzx ecx, byte [edx]
test cl, cl
je 0x40b8e6
mov ch, byte [eax]
test ch, ch
je 0x40b9ea
inc eax
inc edx
lea ebx, [esi + 1]
cmp ch, cl
je 0x40b8de
mov esi, ebx
mov eax, ebx
je 0x40b8c0
mov edx, edi
jmp 0x40b8c0
mov esi, eax
test esi, esi
je 0x40b9ea
mov word [esp + 0x28], 0x5772
mov byte [esp + 0x2a], 0x92
mov word [esp + 0x2b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x40b93e
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x233b5e4
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x8c
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x40b910
movzx eax, byte [esp + 0x28]
test al, al
je 0x40b980
add esi, 0x13
lea ebp, [esp + 0x28]
mov ecx, ebp
mov edx, esi
mov edi, esi
jmp 0x40b967
movzx eax, byte [ecx]
test al, al
je 0x40b991
mov ah, byte [edx]
test ah, ah
je 0x40b9ea
inc edx
inc ecx
lea ebx, [edi + 1]
cmp ah, al
je 0x40b97a
mov edi, ebx
mov edx, ebx
je 0x40b960
mov ecx, ebp
jmp 0x40b960
mov byte [0x43fcd8], 1
mov eax, 0x43fcda
jmp 0x40ba13
test edi, edi
je 0x40b9ea
mov byte [0x43fcd8], 1
mov dword [esp + 0x28], 0
mov eax, 0x43fcda
cmp esi, edi
jae 0x40ba13
xor ebx, ebx
lea ebp, [esp + 0x28]
cmp byte [esi], 0
je 0x40ba0d
push ebp
push edi
push esi
call fcn.0040d410
add esp, 0xc
movzx edx, word [esp + 0x28]
lea ecx, [ebx + 2]
mov word [ebx + 0x43fcda], dx
cmp ebx, 0x1fb
ja 0x40b9e2
add esi, eax
mov ebx, ecx
cmp esi, edi
jb 0x40b9b3
lea eax, [ecx + 0x43fcda]
jmp 0x40ba13
mov dword [esp + 8], 0
push dword [esp + 4]
call fcn.00431bc0
add esp, 4
mov eax, dword [esp + 8]
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebx + 0x43fcda]
mov word [eax], 0
jmp 0x40b9f2