Function at 0x40f120
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [esp + 0x18], 0xca063633
mov dword [esp + 0x1c], 0x3e3c303c
lea ebx, [esp + 0x20]
mov byte [esp + 0x20], 0x84
mov dword [esp + 0x21], 0
mov dword [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x40f196
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411030
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x40f170
lea esi, [esp + 0x83]
lea ebp, [esp + 0x18]
mov eax, ebp
mov ecx, 2
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x8b]
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x8b], al
mov dword [esp + 0x18], 0xd7a5c987
mov dword [esp + 0x1c], 0xd3aed5a6
mov dword [esp + 0x20], 0xdfacd1bd
mov dword [esp + 0x24], 0xdbefdda0
mov dword [esp + 0x28], 0xe79fd984
mov dword [esp + 0x2c], 0xe38fe594
mov dword [esp + 0x30], 0xefcee1a6
mov dword [esp + 0x34], 0xeb9aed8d
mov dword [esp + 0x38], 0xf782e998
mov dword [esp + 0x3c], 0xf39df59d
mov dword [esp + 0x40], 0xff82f191
mov dword [esp + 0x44], 0xfb89fd95
mov dword [esp + 0x48], 0x735f98a
mov dword [esp + 0x4c], 0x337057c
mov dword [esp + 0x50], 0xf75017b
mov dword [esp + 0x54], 0xb3f0d77
mov dword [esp + 0x58], 0x17650962
mov dword [esp + 0x5c], 0x1367156a
mov dword [esp + 0x60], 0x1f631125
mov dword [esp + 0x64], 0x1b6e1d62
mov dword [esp + 0x68], 0x27541975
mov dword [esp + 0x6c], 0x2351254b
mov dword [esp + 0x70], 0x2f43214c
mov dword [esp + 0x74], 0x2b3f2d40
mov dword [esp + 0x78], 0x3736293e
mov word [esp + 0x7c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x65
ja 0x40f2d6
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411130
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x66
jb 0x40f2b0
mov edi, dword [esp + 0xa0]
mov dword [esp], 0x39953bed
mov dword [esp + 4], 0x25b127a8
mov dword [esp + 8], 0x2324
mov byte [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0xc
ja 0x40f339
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
movzx eax, byte [esp + eax]
push dword [esp + 0x10]
push eax
call fcn.004110a0
add esp, 8
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0xd
jb 0x40f310
lea eax, [esp + 0x10]
mov ecx, esp
push 0
push eax
push 8
push esi
push ebp
push ecx
push edi
call fcn.0040fd70
add esp, 0x1c
test al, al
je 0x40f464
mov word [esp + 0x18], 0x828d
mov byte [esp + 0x1a], 0x1e
mov word [esp + 0x1b], 0
mov byte [esp + 0x1d], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x40f3a6
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.004111a0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x40f380
xor eax, eax
mov ecx, dword [esp + 0x10]
nop
nop
nop
nop
movzx edx, byte [ecx + eax]
mov dh, byte [esp + eax + 0x18]
test dl, dl
je 0x40f3c1
inc eax
cmp dl, dh
je 0x40f3b0
mov al, 1
mov dword [esp + 0x14], eax
cmp dl, dh
je 0x40f632
mov dword [esp + 0x18], 0x9d8f8091
mov dword [esp + 0x1c], 0x2d9c9e87
mov word [esp + 0x20], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 9
ja 0x40f426
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411220
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xa
jb 0x40f400
mov eax, dword [esp + 0x10]
movzx ebx, byte [esp + 0x18]
test bl, bl
je 0x40f46b
mov edx, ebp
mov ecx, eax
jmp 0x40f447
movzx ebx, byte [edx]
test bl, bl
je 0x40f46d
mov bh, byte [eax]
test bh, bh
je 0x40f62a
inc eax
inc edx
lea esi, [ecx + 1]
cmp bh, bl
je 0x40f45e
mov ecx, esi
mov eax, esi
je 0x40f440
mov edx, ebp
jmp 0x40f440
xor eax, eax
jmp 0x40f642
mov ecx, eax
test ecx, ecx
je 0x40f62a
mov dword [esp + 0x18], 0x9a9398aa
mov dword [esp + 0x1c], 0xb783dbe1
mov dword [esp + 0x20], 0xc7c08eb3
mov dword [esp + 0x24], 0xbe8684be
mov dword [esp + 0x28], 0x2fc8f48d
mov byte [esp + 0x2c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x14
ja 0x40f4e6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.004112a0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x15
jb 0x40f4c0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x18]
test cl, cl
je 0x40f524
lea edi, [esp + 0x18]
mov edx, edi
mov esi, eax
jmp 0x40f507
movzx ecx, byte [edx]
test cl, cl
je 0x40f526
mov ch, byte [eax]
test ch, ch
je 0x40f62a
inc eax
inc edx
lea ebx, [esi + 1]
cmp ch, cl
je 0x40f51e
mov esi, ebx
mov eax, ebx
je 0x40f500
mov edx, edi
jmp 0x40f500
mov esi, eax
test esi, esi
je 0x40f62a
mov word [esp + 0x18], 0x1f22
mov byte [esp + 0x1a], 0xc2
mov dword [esp + 0x1b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x40f586
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411330
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x40f560
movzx eax, byte [esp + 0x18]
test al, al
je 0x40f5c0
add esi, 0x13
lea ebp, [esp + 0x18]
mov ecx, ebp
mov edx, esi
mov edi, esi
jmp 0x40f5a7
movzx eax, byte [ecx]
test al, al
je 0x40f5d1
mov ah, byte [edx]
test ah, ah
je 0x40f62a
inc edx
inc ecx
lea ebx, [edi + 1]
cmp ah, al
je 0x40f5ba
mov edi, ebx
mov edx, ebx
je 0x40f5a0
mov ecx, ebp
jmp 0x40f5a0
mov byte [0x4550d4], 1
mov eax, 0x4550d6
jmp 0x40f653
test edi, edi
je 0x40f62a
mov byte [0x4550d4], 1
mov dword [esp + 0x18], 0
mov eax, 0x4550d6
cmp esi, edi
jae 0x40f653
xor ebx, ebx
lea ebp, [esp + 0x18]
cmp byte [esi], 0
je 0x40f64d
push ebp
push edi
push esi
call fcn.00410c90
add esp, 0xc
movzx edx, word [esp + 0x18]
lea ecx, [ebx + 2]
mov word [ebx + 0x4550d6], dx
cmp ebx, 0x1fb
ja 0x40f622
add esi, eax
mov ebx, ecx
cmp esi, edi
jb 0x40f5f3
lea eax, [ecx + 0x4550d6]
jmp 0x40f653
mov dword [esp + 0x14], 0
push dword [esp + 0x10]
call fcn.00443880
add esp, 4
mov eax, dword [esp + 0x14]
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebx + 0x4550d6]
mov word [eax], 0
jmp 0x40f632