Function at 0x40b410
Capabilities:
Contain obfuscated stackstrings
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], 0x1ed6fafd
mov dword [esp + 0x2c], 0xc2ccc8cc
lea edx, [esp + 0x30]
mov byte [esp + 0x30], 0x24
mov dword [esp + 0x31], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0xf
ja 0x40b493
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, 0x14479cde
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x3e
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 0x10
jb 0x40b460
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], 0x5c2c5e02
mov dword [esp + 0x2c], 0x58d55a29
mov dword [esp + 0x30], 0x5427562c
mov dword [esp + 0x34], 0x506252df
mov dword [esp + 0x38], 0x6cea6e03
mov dword [esp + 0x3c], 0x68126a1b
mov dword [esp + 0x40], 0x64456621
mov dword [esp + 0x44], 0x6011621c
mov dword [esp + 0x48], 0x7c097e0f
mov dword [esp + 0x4c], 0x78047a0c
mov dword [esp + 0x50], 0x74f97608
mov dword [esp + 0x54], 0x70007204
mov dword [esp + 0x58], 0x8cbc8efd
mov dword [esp + 0x5c], 0x88ba8a03
mov dword [esp + 0x60], 0x840c860e
mov dword [esp + 0x64], 0x80b2820a
mov dword [esp + 0x68], 0x9cec9ee5
mov dword [esp + 0x6c], 0x98ea9a15
mov dword [esp + 0x70], 0x941e96a4
mov dword [esp + 0x74], 0x90e5921d
mov dword [esp + 0x78], 0xacdfaed4
mov dword [esp + 0x7c], 0xa8d8aad6
mov dword [esp + 0x80], 0xa4dea6db
mov dword [esp + 0x84], 0xa0b2a2df
mov dword [esp + 0x88], 0xbcbdbea9
mov dword [esp + 0x8c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x67
ja 0x40b5e0
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
add ecx, 0x7cc75d50
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xf1
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x68
jb 0x40b5b0
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc], 0x3e5c3c0c
mov dword [esp + 0x10], 0x32483041
mov word [esp + 0x14], 0x3435
mov dword [esp + 0x16], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xd
ja 0x40b660
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]
lea ebx, [edx + edi]
add edx, 0xb4
and edx, edi
add edx, edx
sub ebx, edx
add ebx, 0x4a61fdb4
mov dword [esp], ebx
mov edx, dword [esp]
add dl, 0x77
mov edi, dword [esp + 4]
mov byte [esp + edi + 0xc], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xe
jb 0x40b620
lea edx, [esp + 4]
lea edi, [esp + 0xc]
push 0
push edx
push 8
push eax
push esi
push edi
push ecx
call fcn.0040c030
add esp, 0x1c
test al, al
je 0x40b7a4
mov word [esp + 0x28], 0xbfb2
mov byte [esp + 0x2a], 0x21
mov word [esp + 0x2b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x40b6de
nop
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, 0xdb483038
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xe5
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x40b6b0
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 0x40b701
inc eax
cmp dl, dh
je 0x40b6f0
mov al, 1
mov dword [esp + 8], eax
cmp dl, dh
je 0x40b982
mov dword [esp + 0x28], 0xf38184f7
mov dword [esp + 0x2c], 0x6bf8f68d
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x40b75e
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x97894832
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xae
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x40b730
mov eax, dword [esp + 4]
movzx ebx, byte [esp + 0x28]
test bl, bl
je 0x40b7ab
mov edx, esi
mov ecx, eax
jmp 0x40b787
movzx ebx, byte [edx]
test bl, bl
je 0x40b7ad
mov bh, byte [eax]
test bh, bh
je 0x40b97a
inc eax
inc edx
lea edi, [ecx + 1]
cmp bh, bl
je 0x40b79e
mov ecx, edi
mov eax, edi
je 0x40b780
mov edx, esi
jmp 0x40b780
xor eax, eax
jmp 0x40b992
mov ecx, eax
test ecx, ecx
je 0x40b97a
mov dword [esp + 0x28], 0x5d24671b
mov dword [esp + 0x2c], 0x2e5c9a76
mov dword [esp + 0x30], 0x9e912520
mov dword [esp + 0x34], 0x212f5327
mov dword [esp + 0x38], 0xa6897b52
mov word [esp + 0x3c], 0
mov byte [esp + 0x3e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x16
ja 0x40b82e
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xbadde65e
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x29
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x17
jb 0x40b800
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x28]
test cl, cl
je 0x40b874
lea edi, [esp + 0x28]
mov edx, edi
mov esi, eax
jmp 0x40b857
movzx ecx, byte [edx]
test cl, cl
je 0x40b876
mov ch, byte [eax]
test ch, ch
je 0x40b97a
inc eax
inc edx
lea ebx, [esi + 1]
cmp ch, cl
je 0x40b86e
mov esi, ebx
mov eax, ebx
je 0x40b850
mov edx, edi
jmp 0x40b850
mov esi, eax
test esi, esi
je 0x40b97a
mov word [esp + 0x28], 0x5a75
mov byte [esp + 0x2a], 0x19
mov word [esp + 0x2b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x40b8ce
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xb7f2d0ad
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x4a
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x40b8a0
movzx eax, byte [esp + 0x28]
test al, al
je 0x40b910
add esi, 0x13
lea ebp, [esp + 0x28]
mov ecx, ebp
mov edx, esi
mov edi, esi
jmp 0x40b8f7
movzx eax, byte [ecx]
test al, al
je 0x40b921
mov ah, byte [edx]
test ah, ah
je 0x40b97a
inc edx
inc ecx
lea ebx, [edi + 1]
cmp ah, al
je 0x40b90a
mov edi, ebx
mov edx, ebx
je 0x40b8f0
mov ecx, ebp
jmp 0x40b8f0
mov byte [0x44970c], 1
mov eax, 0x44970e
jmp 0x40b9a3
test edi, edi
je 0x40b97a
mov byte [0x44970c], 1
mov dword [esp + 0x28], 0
mov eax, 0x44970e
cmp esi, edi
jae 0x40b9a3
xor ebx, ebx
lea ebp, [esp + 0x28]
cmp byte [esi], 0
je 0x40b99d
push ebp
push edi
push esi
call fcn.0040d570
add esp, 0xc
movzx edx, word [esp + 0x28]
lea ecx, [ebx + 2]
mov word [ebx + 0x44970e], dx
cmp ebx, 0x1fb
ja 0x40b972
add esi, eax
mov ebx, ecx
cmp esi, edi
jb 0x40b943
lea eax, [ecx + 0x44970e]
jmp 0x40b9a3
mov dword [esp + 8], 0
push dword [esp + 4]
call fcn.0043b460
add esp, 4
mov eax, dword [esp + 8]
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebx + 0x44970e]
mov word [eax], 0
jmp 0x40b982