Function at 0x40f7b0
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, 0x438
mov edi, dword [esp + 0x44c]
mov dword [esp + 0x38], 0xd7a5c99d
mov dword [esp + 0x3c], 0xd3bbd552
mov dword [esp + 0x40], 0xdfaad1a4
mov dword [esp + 0x44], 0xdbe9ddbd
mov dword [esp + 0x48], 0xe7d4d9e5
mov dword [esp + 0x4c], 0xe3c2e5d4
mov dword [esp + 0x50], 0xefb5e1c8
mov dword [esp + 0x54], 0xeb98ed85
mov dword [esp + 0x58], 0xf785e984
mov dword [esp + 0x5c], 0xf38df58f
mov dword [esp + 0x60], 0xffacf1d0
mov dword [esp + 0x64], 0xfbdafda0
mov dword [esp + 0x68], 0x736f9c9
mov dword [esp + 0x6c], 0x3320536
mov dword [esp + 0x70], 0xf2e0147
mov dword [esp + 0x74], 0xb630d57
mov dword [esp + 0x78], 0x172c097a
mov dword [esp + 0x7c], 0x13551528
mov dword [esp + 0x80], 0x1f661130
mov dword [esp + 0x84], 0x1b261d26
mov dword [esp + 0x88], 0x27061931
mov dword [esp + 0x8c], 0x23522565
mov dword [esp + 0x90], 0x2f5a2150
mov dword [esp + 0x94], 0x2b712d41
mov dword [esp + 0x98], 0x37582945
mov dword [esp + 0x9c], 0x335b3563
mov dword [esp + 0xa0], 0x3f0d314c
mov dword [esp + 0xa4], 0x3b053d01
mov dword [esp + 0xa8], 0x47743903
mov dword [esp + 0xac], 0x4378457b
mov dword [esp + 0xb0], 0x4f664160
mov dword [esp + 0xb4], 0x4b024d1b
mov dword [esp + 0xb8], 0x57034914
mov dword [esp + 0xbc], 0x53665500
mov dword [esp + 0xc0], 0x5f2a5170
mov dword [esp + 0xc4], 0x5b2d5d35
mov dword [esp + 0xc8], 0x67465935
mov dword [esp + 0xcc], 0x630f652f
mov dword [esp + 0xd0], 0x6f19610f
mov dword [esp + 0xd4], 0x6b436d1f
mov dword [esp + 0xd8], 0x77396948
mov dword [esp + 0xdc], 0x730c751c
mov dword [esp + 0xe0], 0x7f0b7103
mov dword [esp + 0xe4], 0x7b497d11
mov dword [esp + 0xe8], 0x87b77949
mov dword [esp + 0xec], 0x83b085bd
mov dword [esp + 0xf0], 0x8fbc81b0
mov dword [esp + 0xf4], 0x8bb88dbc
mov dword [esp + 0xf8], 0x97b689b8
mov dword [esp + 0xfc], 0x93f395cb
mov dword [esp + 0x100], 0x9fff91fa
mov dword [esp + 0x104], 0x9bf39de2
mov dword [esp + 0x108], 0xa79b99ab
mov dword [esp + 0x10c], 0xa399a59b
mov dword [esp + 0x110], 0xaf91a192
mov dword [esp + 0x114], 0xabaaad96
mov eax, dword [0x44dee0]
mov ecx, 0x4e
mov edx, 0xb1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + ecx - 0x16]
mov ebx, edx
xor ebx, ecx
and ebx, ebp
xor ebx, ecx
add bl, 0x7a
mov byte [esp + ecx - 0x16], bl
inc ecx
dec edx
cmp ecx, 0x12e
jne case.default.0x40fa46
lea ecx, [esp + 0x38]
push 0
push 0
push 0
push 0
push ecx
call eax
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x448b28]
xor esi, esi
xor eax, eax
mov ecx, dword [esp + 0x460]
test ecx, ecx
setne al
xor ebp, ebp
jmp dword [eax*4 + 0x448bd8]
mov dword [ecx], esi
xor eax, eax
mov ecx, dword [esp + 0x464]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x448bf0]
mov dword [ecx], ebp
test esi, esi
setne al
add esp, 0x438
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x44dee4]
mov dword [esp + 0x38], 0x61666421
mov word [esp + 0x3c], 0
mov byte [esp + 0x3e], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x99
xor dl, byte [esp + ecx + 0x38]
add dl, 3
mov byte [esp + ecx + 0x38], dl
inc ecx
cmp ecx, 7
jne case.default.0x40fadb
movzx ecx, word [esp + 0x38]
push 0
push ecx
push edi
push ebx
call eax
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x448b30]
xor ebp, ebp
xor esi, esi
jmp 0x41003c
mov dword [esp + 0x30], ebx
jmp dword [0x448b3c]
mov ebp, esi
jmp dword [0x448bc8]
jmp dword [0x448b68]
jmp dword [eax*4 + 0x448b70]
xor esi, esi
mov ecx, dword [esp + 0x454]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
mov edx, dword [esp + 0x460]
push edx
push edx
push dword [esp + 0x464]
push eax
push ecx
push ebx
call dword [0x44def8]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448b88]
mov esi, dword [0x44defc]
jmp dword [0x448b94]
push 0
push ebx
call esi
nop
nop
nop
nop
nop
push 0
push ebx
call esi
jmp dword [0x448b9c]
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x448ba0]
mov dword [esp + 0x38], 0
xor ebp, ebp
xor esi, esi
jmp case.0x40fa46.35
mov dword [esp], 0
mov ecx, eax
add ecx, ebp
mov edx, esp
push edx
push dword [esp + 0x3c]
push ecx
push ebx
mov esi, eax
call dword [0x44df04]
add ebp, dword [esp]
xor eax, eax
jmp dword [eax*4 + 0x448bb8]
lea eax, [esp + 0x38]
push eax
push ebx
call dword [0x44df00]
test eax, eax
setne cl
mov eax, dword [esp + 0x38]
test eax, eax
setne dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x448ba8]
add eax, ebp
inc eax
push eax
push esi
call fcn.0043ffd0
add esp, 8
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x448bb0]
mov eax, 1
jmp dword [eax*4 + 0x448bb8]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x448bc0]
jmp dword [0x448bc8]
mov dword [esp + 0x34], edi
jmp dword [0x448b7c]
mov dword [esp], 0x1770749
mov dword [esp + 4], 0xd770371
mov dword [esp + 8], 0x9610f67
mov dword [esp + 0xc], 0x152a0b32
mov dword [esp + 0x10], 0x11771775
mov dword [esp + 0x14], 0x1d7c137d
mov dword [esp + 0x18], 0x19691f7d
mov dword [esp + 0x1c], 0x257b1b61
mov dword [esp + 0x20], 0x215d2746
mov dword [esp + 0x24], 0x2d652350
mov word [esp + 0x28], 0x2f2c
mov dword [esp + 0x2a], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx]
mov ebp, eax
and ebp, 2
mov edx, ecx
xor edx, 0xd16c2c01
add edx, ebp
xor edx, esi
mov esi, 1
sub esi, edx
or esi, 0xfe
or edx, 1
sub edx, esi
add dl, 0xf9
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x2e
jne 0x40fc90
movzx ecx, word [esp]
lea eax, [esp + 0x38]
test cx, cx
je 0x40fcf1
lea edx, [esp + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40fce0
mov word [eax], 0
movzx ecx, word [0x44e01a]
test cx, cx
je 0x40fd25
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x44e01c]
add edx, 2
test cx, cx
jne 0x40fd10
add eax, edx
mov word [eax], 0
lea eax, [esp + 0x38]
push 0x20000000
push 0xffffffffffffffff
push eax
push ebx
call dword [0x44def4]
jmp case.0x40fa46.20
mov word [ecx], 0
lea eax, [esp + 0x38]
push 0x20000000
push 0xffffffffffffffff
push eax
push ebx
call dword [0x44def4]
jmp dword [0x448b84]
lea eax, [esp + 2]
mov dword [esp], 0x1770749
mov dword [esp + 4], 0xd770371
mov dword [esp + 8], 0x9610f67
mov dword [esp + 0xc], 0x152a0b32
mov dword [esp + 0x10], 0x11771775
mov dword [esp + 0x14], 0x1d7c137d
mov dword [esp + 0x18], 0x19691f7d
mov dword [esp + 0x1c], 0x257b1b61
mov dword [esp + 0x20], 0x215d2746
mov dword [esp + 0x24], 0x2d652350
mov word [esp + 0x28], 0x2f2c
mov dword [esp + 0x2a], 0
xor edi, edi
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + esi]
mov ecx, edi
and ecx, 2
mov edx, esi
xor edx, 0xd16c2c01
add edx, ecx
xor edx, ebp
mov ecx, 1
sub ecx, edx
or ecx, 0xfe
or edx, 1
sub edx, ecx
add dl, 0xf9
mov byte [esp + esi], dl
inc esi
add edi, 2
cmp esi, 0x2e
jne 0x40fdd0
movzx edx, word [esp]
lea ecx, [esp + 0x38]
test dx, dx
je 0x40fe31
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [eax]
add eax, 2
test dx, dx
jne 0x40fe20
mov word [ecx], 0
movzx eax, word [0x44e01a]
test ax, ax
mov edi, dword [esp + 0x34]
je 0x40fd40
xor edx, edx
nop
nop
nop
nop
mov word [ecx + edx], ax
movzx eax, word [edx + 0x44e01c]
add edx, 2
test ax, ax
jne 0x40fe50
add ecx, edx
jmp 0x40fd40
mov byte [esi + ebp], 0
jmp dword [0x448bc8]
mov esi, dword [0x44dee8]
mov dword [esp], 0x93129190
mov dword [esp + 4], 0
mov ecx, 0xe02618a4
nop
nop
movzx edx, byte [esp + ecx + 0x1fd9e75c]
xor edx, ecx
lea ebx, [edx + 0xcb]
mov ebp, 0x34
sub ebp, edx
or ebp, 1
add ebp, edx
xor ebx, 1
lea edx, [ebx + ebp*2]
add dl, 0x98
mov byte [esp + ecx + 0x1fd9e75c], dl
inc ecx
cmp ecx, 0xe02618ac
jne 0x40fe90
mov ecx, dword [esp]
mov dword [esp + 0x38], 0x116f1f6c
mov dword [esp + 0x3c], 0x15661365
mov dword [esp + 0x40], 0x1714
mov edx, 0x572bc285
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx - 0x572bc24d]
mov ebx, eax
and ebx, edx
add bl, bl
sub al, bl
movzx eax, al
add eax, edx
add al, 0x67
mov byte [esp + edx - 0x572bc24d], al
inc edx
cmp edx, 0x572bc291
jne 0x40fef0
lea eax, [esp + 0x38]
push ecx
push 0
push 0
push 0
push dword [esp + 0x460]
push eax
push edi
call esi
mov ebp, dword [0x44dee8]
mov dword [esp], 0x93129190
mov dword [esp + 4], 0
mov ecx, 0xe02618a4
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x1fd9e75c]
xor edx, ecx
lea esi, [edx + 0xcb]
mov ebx, 0x34
sub ebx, edx
or ebx, 1
add ebx, edx
xor esi, 1
lea edx, [esi + ebx*2]
add dl, 0x98
mov byte [esp + ecx + 0x1fd9e75c], dl
inc ecx
cmp ecx, 0xe02618ac
jne 0x40ff50
mov ecx, dword [esp]
mov dword [esp + 0x38], 0x116f1f6c
mov dword [esp + 0x3c], 0x15661365
mov dword [esp + 0x40], 0x1714
mov edx, 0x572bc285
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx - 0x572bc24d]
mov ebx, eax
and ebx, edx
add bl, bl
sub al, bl
movzx eax, al
add eax, edx
add al, 0x67
mov byte [esp + edx - 0x572bc24d], al
inc edx
cmp edx, 0x572bc291
jne 0x40ffb0
push ecx
push 0
push 0
push 0
push dword [esp + 0x460]
lea eax, [esp + 0x4c]
push eax
push edi
call ebp
jmp dword [0x448b44]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x448b48]
movzx eax, byte [0x44e018]
jmp dword [0x448b5c]
push ebx
call dword [0x44df0c]
push ebx
call dword [0x44df0c]
jmp dword [0x448bd0]
push edi
call dword [0x44df0c]
mov ebx, dword [esp + 0x30]
push ebx
call dword [0x44df0c]
xor eax, eax
mov ecx, dword [esp + 0x460]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x448bd8]
push esi
call fcn.0043d610
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x464]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x448bf0]
int3
cli
inc eax
add byte [edi - 0x1dffbf06], cl
cli
inc eax
add bl, ch
cli
inc eax
add byte [esi + edi*8 + 0x40], dh
add byte [0x740040ff], ch
inc byte [eax]
inc dword [eax]
xor dword [eax], eax
inc ecx
add byte [eax], dl
add byte [ecx], al
adc byte [eax], al
inc ecx
add byte [eax], dl
add byte [ecx], al
adc byte [eax], al
inc ecx
add byte [eax], al
sti
inc eax
add byte [eax], al
sti
inc eax
add byte [eax], al
sti
inc eax
add byte [esi], al
sti
inc eax
add byte [eax], al
sti
inc eax
add byte [0x190040fb], cl
cld
inc eax
add byte [ebx], ah
cld
inc eax
add byte [esi - 3], bl
inc eax
add byte [esi - 3], bl
inc eax
add byte [0xf50040fb], cl
cli
inc eax
add byte [edx - 5], cl
inc eax
add byte [esi - 5], dl
inc eax
add byte [eax - 5], ah
inc eax
add byte [eax - 5], ah
inc eax
add byte [ebx - 5], ch
inc eax
add ch, dh
cli
inc eax
add byte [ebx - 5], bh
inc eax
add byte [0xde0040fc], al
sti
inc eax
add byte [eax - 0x6ffbf05], dl
sti
inc eax
add byte [eax + 0x50040fb], bh
cld
inc eax
add byte [ebx], dl
cld
inc eax
add byte [edx - 2], ch
inc eax
add byte [eax + eax], ah
inc ecx
add byte [0x31004100], bl
add byte [ecx], al
sbb eax, 0x58004100
add byte [ecx], al
cli
inc eax
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi], dh
inc ecx
add byte [edi - 6], bh
inc eax
add byte [ebp - 6], bh
inc eax
add byte [ebp + 0xa004107], bl
pop es
inc ecx
add byte [edx], cl