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

Disassembly:
sub esp, 0x2fc
xor eax, eax
push ebp
push esi
mov esi, dword [esp + 0x308]
push edi
test esi, esi
mov ebp, ecx
je 0x405f69
mov ecx, 0x1f
lea edi, [esp + 0x189]
mov byte [esp + 0x188], al
mov byte [esp + 0x148], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x149]
mov byte [esp + 0x208], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x209]
mov byte [esp + 0x88], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x89]
mov byte [esp + 0xc8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0xc9]
mov byte [esp + 0x108], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x109]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x310]
test ecx, ecx
jne 0x40586c
mov edi, dword [ebp + 0x31c]
mov ecx, eax
sub ecx, edi
cmp ecx, 0xea60
ja 0x40586c
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x2fc
ret 8
mov dword [ebp + 0x31c], eax
lea eax, [esi + 0x60]
push ebx
mov ebx, dword [sym.imp.MSVCRT.dll_isalnum]
test eax, eax
mov dword [ebp + 0x30c], esi
je 0x405930
mov cl, byte [eax]
mov edi, eax
test cl, cl
lea esi, [esp + 0x8c]
je 0x40592d
xor edx, edx
mov dl, byte [edi]
push edx
call ebx
add esp, 4
test eax, eax
je 0x4058af
mov al, byte [edi]
jmp 0x40591e
xor ecx, ecx
mov cl, byte [edi]
push ecx
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
je 0x4058c6
mov byte [esi], 0x2b
jmp 0x405920
mov byte [esi], 0x25
mov al, byte [edi]
shr al, 4
inc esi
mov byte [esp + 0x14], al
cmp al, 9
mov eax, dword [esp + 0x14]
jbe 0x4058e5
and eax, 0xff
add eax, 0x37
jmp 0x4058ed
and eax, 0xff
add eax, 0x30
mov byte [esi], al
xor eax, eax
mov al, byte [edi]
inc esi
and eax, 0x8000000f
jns 0x405900
dec eax
or eax, 0xfffffff0
inc eax
mov byte [esp + 0x10], al
cmp al, 9
mov eax, dword [esp + 0x10]
jbe 0x405916
and eax, 0xff
add eax, 0x37
jmp 0x40591e
and eax, 0xff
add eax, 0x30
mov byte [esi], al
mov al, byte [edi + 1]
inc esi
inc edi
test al, al
jne 0x40589d
mov byte [esi], 0
mov edi, dword [ebp + 0x30c]
add edi, 0xa4
je 0x4059e6
mov al, byte [edi]
lea esi, [esp + 0x18c]
test al, al
je 0x4059e3
xor edx, edx
mov dl, byte [edi]
push edx
call ebx
add esp, 4
test eax, eax
je 0x405965
mov al, byte [edi]
jmp 0x4059d4
xor ecx, ecx
mov cl, byte [edi]
push ecx
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
je 0x40597c
mov byte [esi], 0x2b
jmp 0x4059d6
mov byte [esi], 0x25
mov al, byte [edi]
shr al, 4
inc esi
mov byte [esp + 0x10], al
cmp al, 9
mov eax, dword [esp + 0x10]
jbe 0x40599b
and eax, 0xff
add eax, 0x37
jmp 0x4059a3
and eax, 0xff
add eax, 0x30
mov byte [esi], al
xor eax, eax
mov al, byte [edi]
inc esi
and eax, 0x8000000f
jns 0x4059b6
dec eax
or eax, 0xfffffff0
inc eax
mov byte [esp + 0x14], al
cmp al, 9
mov eax, dword [esp + 0x14]
jbe 0x4059cc
and eax, 0xff
add eax, 0x37
jmp 0x4059d4
and eax, 0xff
add eax, 0x30
mov byte [esi], al
mov al, byte [edi + 1]
inc esi
inc edi
test al, al
jne 0x405953
mov byte [esi], 0
mov edi, dword [ebp + 0x30c]
test edi, edi
je 0x405a98
mov al, byte [edi]
lea esi, [esp + 0x10c]
test al, al
je 0x405a95
xor edx, edx
mov dl, byte [edi]
push edx
call ebx
add esp, 4
test eax, eax
je 0x405a17
mov al, byte [edi]
jmp 0x405a86
xor ecx, ecx
mov cl, byte [edi]
push ecx
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
je 0x405a2e
mov byte [esi], 0x2b
jmp 0x405a88
mov byte [esi], 0x25
mov al, byte [edi]
shr al, 4
inc esi
mov byte [esp + 0x10], al
cmp al, 9
mov eax, dword [esp + 0x10]
jbe 0x405a4d
and eax, 0xff
add eax, 0x37
jmp 0x405a55
and eax, 0xff
add eax, 0x30
mov byte [esi], al
xor eax, eax
mov al, byte [edi]
inc esi
and eax, 0x8000000f
jns 0x405a68
dec eax
or eax, 0xfffffff0
inc eax
mov byte [esp + 0x14], al
cmp al, 9
mov eax, dword [esp + 0x14]
jbe 0x405a7e
and eax, 0xff
add eax, 0x37
jmp 0x405a86
and eax, 0xff
add eax, 0x30
mov byte [esi], al
mov al, byte [edi + 1]
inc esi
inc edi
test al, al
jne 0x405a05
mov byte [esi], 0
mov edi, dword [ebp + 0x30c]
add edi, 0xe4
je 0x405b4e
mov al, byte [edi]
lea esi, [esp + 0x14c]
test al, al
je 0x405b4b
xor edx, edx
mov dl, byte [edi]
push edx
call ebx
add esp, 4
test eax, eax
je 0x405acd
mov al, byte [edi]
jmp 0x405b3c
xor ecx, ecx
mov cl, byte [edi]
push ecx
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
je 0x405ae4
mov byte [esi], 0x2b
jmp 0x405b3e
mov byte [esi], 0x25
mov al, byte [edi]
shr al, 4
inc esi
mov byte [esp + 0x10], al
cmp al, 9
mov eax, dword [esp + 0x10]
jbe 0x405b03
and eax, 0xff
add eax, 0x37
jmp 0x405b0b
and eax, 0xff
add eax, 0x30
mov byte [esi], al
xor eax, eax
mov al, byte [edi]
inc esi
and eax, 0x8000000f
jns 0x405b1e
dec eax
or eax, 0xfffffff0
inc eax
mov byte [esp + 0x14], al
cmp al, 9
mov eax, dword [esp + 0x14]
jbe 0x405b34
and eax, 0xff
add eax, 0x37
jmp 0x405b3c
and eax, 0xff
add eax, 0x30
mov byte [esi], al
mov al, byte [edi + 1]
inc esi
inc edi
test al, al
jne 0x405abb
mov byte [esi], 0
mov edi, dword [ebp + 0x30c]
add edi, 0x84
je 0x405c04
mov al, byte [edi]
lea esi, [esp + 0xcc]
test al, al
je 0x405c01
xor edx, edx
mov dl, byte [edi]
push edx
call ebx
add esp, 4
test eax, eax
je 0x405b83
mov al, byte [edi]
jmp 0x405bf2
xor ecx, ecx
mov cl, byte [edi]
push ecx
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
je 0x405b9a
mov byte [esi], 0x2b
jmp 0x405bf4
mov byte [esi], 0x25
mov al, byte [edi]
shr al, 4
inc esi
mov byte [esp + 0x10], al
cmp al, 9
mov eax, dword [esp + 0x10]
jbe 0x405bb9
and eax, 0xff
add eax, 0x37
jmp 0x405bc1
and eax, 0xff
add eax, 0x30
mov byte [esi], al
xor eax, eax
mov al, byte [edi]
inc esi
and eax, 0x8000000f
jns 0x405bd4
dec eax
or eax, 0xfffffff0
inc eax
mov byte [esp + 0x14], al
cmp al, 9
mov eax, dword [esp + 0x14]
jbe 0x405bea
and eax, 0xff
add eax, 0x37
jmp 0x405bf2
and eax, 0xff
add eax, 0x30
mov byte [esi], al
mov al, byte [edi + 1]
inc esi
inc edi
test al, al
jne 0x405b71
mov byte [esi], 0
mov ecx, dword [ebp + 0x30c]
xor edx, edx
mov dword [esp + 0x7d], edx
lea eax, [esp + 0x7c]
mov dword [esp + 0x81], edx
push eax
mov dword [esp + 0x89], edx
push ecx
mov word [esp + 0x91], dx
mov ecx, ebp
mov byte [esp + 0x84], 0
mov byte [esp + 0x93], dl
call fcn.00405690
mov edi, dword [ebp + 0x30c]
add edi, 0x104
je 0x405cf8
mov al, byte [edi]
lea esi, [esp + 0x20c]
test al, al
je 0x405cf5
xor edx, edx
mov dl, byte [edi]
push edx
call ebx
add esp, 4
test eax, eax
je 0x405c77
mov al, byte [edi]
jmp 0x405ce6
xor ecx, ecx
mov cl, byte [edi]
push ecx
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
je 0x405c8e
mov byte [esi], 0x2b
jmp 0x405ce8
mov byte [esi], 0x25
mov al, byte [edi]
shr al, 4
inc esi
mov byte [esp + 0x10], al
cmp al, 9
mov eax, dword [esp + 0x10]
jbe 0x405cad
and eax, 0xff
add eax, 0x37
jmp 0x405cb5
and eax, 0xff
add eax, 0x30
mov byte [esi], al
xor eax, eax
mov al, byte [edi]
inc esi
and eax, 0x8000000f
jns 0x405cc8
dec eax
or eax, 0xfffffff0
inc eax
mov byte [esp + 0x14], al
cmp al, 9
mov eax, dword [esp + 0x14]
jbe 0x405cde
and eax, 0xff
add eax, 0x37
jmp 0x405ce6
and eax, 0xff
add eax, 0x30
mov byte [esi], al
mov al, byte [edi + 1]
inc esi
inc edi
test al, al
jne 0x405c65
mov byte [esi], 0
mov bl, 0x64
mov al, 0x3d
mov byte [esp + 0x3f], bl
mov byte [esp + 0x45], bl
mov byte [esp + 0x4a], bl
mov byte [esp + 0x50], bl
mov byte [esp + 0x5e], bl
mov dl, 0x73
mov cl, 0x26
mov bl, 0x69
mov byte [esp + 0x18], 0x61
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], 0x25
mov byte [esp + 0x1b], dl
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], dl
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], 0x25
mov byte [esp + 0x20], dl
mov byte [esp + 0x21], cl
mov byte [esp + 0x22], 0x75
mov byte [esp + 0x23], al
mov byte [esp + 0x24], 0x25
mov byte [esp + 0x25], dl
mov byte [esp + 0x26], cl
mov byte [esp + 0x27], 0x62
mov byte [esp + 0x28], al
mov byte [esp + 0x29], 0x25
mov byte [esp + 0x2a], dl
mov byte [esp + 0x2b], cl
mov byte [esp + 0x2c], 0x70
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], 0x25
mov byte [esp + 0x2f], dl
mov byte [esp + 0x30], cl
mov byte [esp + 0x31], dl
mov byte [esp + 0x32], 0x70
mov byte [esp + 0x33], al
mov byte [esp + 0x34], 0x25
mov byte [esp + 0x35], dl
mov byte [esp + 0x36], cl
mov byte [esp + 0x37], 0x72
mov byte [esp + 0x38], al
mov byte [esp + 0x39], 0x25
mov byte [esp + 0x3a], dl
mov byte [esp + 0x3b], cl
mov byte [esp + 0x3c], 0x6c
mov byte [esp + 0x3d], al
mov byte [esp + 0x3e], 0x25
mov byte [esp + 0x40], cl
mov byte [esp + 0x41], 0x79
mov byte [esp + 0x42], 0x62
mov byte [esp + 0x43], al
mov byte [esp + 0x44], 0x25
mov byte [esp + 0x46], cl
mov byte [esp + 0x47], 0x6d
mov byte [esp + 0x48], al
mov byte [esp + 0x49], 0x25
mov byte [esp + 0x4b], cl
mov byte [esp + 0x4c], 0x74
mov byte [esp + 0x4d], 0x6e
mov byte [esp + 0x4e], al
mov byte [esp + 0x4f], 0x25
mov byte [esp + 0x51], cl
mov byte [esp + 0x52], 0x6d
mov byte [esp + 0x53], 0x62
mov byte [esp + 0x54], al
mov byte [esp + 0x55], 0x25
mov byte [esp + 0x56], dl
mov byte [esp + 0x57], cl
mov byte [esp + 0x58], 0x62
mov byte [esp + 0x59], dl
mov byte [esp + 0x5a], 0x6d
mov byte [esp + 0x5b], 0x62
mov byte [esp + 0x5c], al
mov byte [esp + 0x5d], 0x25
mov byte [esp + 0x5f], cl
mov byte [esp + 0x60], 0x70
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], 0x6e
mov byte [esp + 0x63], al
mov byte [esp + 0x6b], al
mov byte [esp + 0x72], al
mov byte [esp + 0x78], al
mov eax, dword [ebp + 0x30c]
mov byte [esp + 0x65], dl
mov byte [esp + 0x6d], dl
mov byte [esp + 0x70], dl
mov byte [esp + 0x74], dl
mov byte [esp + 0x7a], dl
lea edx, [ebp + 4]
mov byte [esp + 0x66], cl
mov byte [esp + 0x6e], cl
mov byte [esp + 0x75], cl
push 0x45c94c
push edx
lea ecx, [eax + 0x1f8]
lea edx, [eax + 0x1d8]
mov byte [esp + 0x6c], 0x25
mov byte [esp + 0x6f], 0x70
mov byte [esp + 0x70], bl
mov byte [esp + 0x71], 0x6e
mov byte [esp + 0x72], 0x32
mov byte [esp + 0x74], 0x25
mov byte [esp + 0x77], 0x68
mov byte [esp + 0x79], 0x6e
mov byte [esp + 0x7b], 0x25
mov byte [esp + 0x7e], 0x47
mov byte [esp + 0x7f], 0x41
mov byte [esp + 0x81], 0x25
mov byte [esp + 0x83], 0
push ecx
mov ecx, dword [eax + 0x1a4]
push edx
lea edx, [eax + 0x1b8]
push ecx
mov ecx, dword [eax + 0x1a0]
push edx
mov edx, dword [eax + 0x198]
push ecx
mov ecx, dword [eax + 0x19c]
push edx
mov edx, dword [eax + 0x194]
push ecx
push edx
lea ecx, [esp + 0x234]
lea edx, [esp + 0xf4]
push ecx
push edx
lea ecx, [esp + 0xbc]
lea edx, [esp + 0xac]
push ecx
push edx
lea ecx, [esp + 0x144]
lea edx, [esp + 0x184]
push ecx
push edx
lea ecx, [esp + 0x1cc]
lea edx, [esp + 0x58]
push ecx
push edx
add eax, 0xa4
push str.9LGM
push eax
push ebp
call fcn.004053f0
add esp, 0x54
mov ecx, ebp
call fcn.00405660
mov eax, 1
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x2fc
ret 8