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

Disassembly:
push 0xffffffffffffffff
push 0x52ae50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov edi, 1
lea ecx, [esp + 0x38]
mov dword [esp + 0x74], edi
call fcn.0050a720
mov ebx, 2
lea ecx, [esp + 0x48]
mov byte [esp + 0x74], bl
call fcn.004f70e0
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 3
call fcn.004f5840
push ecx
lea eax, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
mov byte [esp + 0x7c], 4
call fcn.004f5850
lea ecx, [esp + 0x24]
call fcn.004f5b70
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0
call fcn.004f5870
mov esi, dword [esp + 0x84]
mov ecx, esi
call fcn.004f5b70
mov cx, word [ebp + 8]
lea edx, [esp + 0x20]
dec cx
push edx
neg cx
sbb ecx, ecx
and ecx, 0xfd
inc ecx
mov word [esp + 0x28], cx
lea ecx, [esp + 0x3c]
call fcn.004f6590
sub esp, 0x24
lea ecx, [esp + 0x5c]
mov eax, esp
mov dword [esp + 0xa4], esp
push 0
push ecx
push eax
mov ecx, 0x554070
call fcn.004f3fa0
lea ecx, [esp + 0x6c]
call fcn.004f7290
lea ecx, [esp + 0x48]
call fcn.004f76c0
test ax, ax
jle 0x4c6e01
push 0
lea ecx, [esp + 0x4c]
call fcn.004f7600
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4c6e01
mov edx, dword [eax + 8]
sub edx, ecx
sar edx, 2
je 0x4c6e01
push 0
lea ecx, [esp + 0x4c]
call fcn.004f7600
mov ecx, dword [eax + 4]
call fcn.004f5d00
test ax, ax
jle 0x4c6e01
push ecx
lea ecx, [esp + 0x4c]
mov eax, esp
mov dword [esp + 0x84], esp
push eax
call fcn.004f7610
mov ecx, esi
call fcn.004f5b70
mov ecx, esi
call fcn.004f5d00
cmp ax, 5
jl 0x4c6e01
push 0
mov ecx, esi
call fcn.004f5b60
cmp al, 0x80
jb 0x4c6e01
push edi
mov ecx, esi
call fcn.004f5b60
cmp al, 0xf1
jne 0x4c6e01
push ebx
mov ecx, esi
call fcn.004f5b60
cmp al, 0x11
jne 0x4c6e01
mov ecx, esi
call fcn.004f5d00
dec eax
lea ecx, [esp + 0x10]
push eax
push 0x55404c
call fcn.004f58e0
push 0
mov ecx, esi
mov byte [esp + 0x78], 5
call fcn.004f5b60
cmp al, 0x80
jne 0x4c699c
push 3
mov ecx, esi
call fcn.004f5b60
add al, 0x80
lea ecx, [esp + 0x10]
push eax
push 0
call fcn.004f5c80
mov ecx, esi
call fcn.004f5d00
movsx ecx, ax
dec ecx
cmp ecx, edi
jle 0x4c6976
cmp edi, 3
jl 0x4c6953
lea edx, [edi + 1]
push edx
jmp 0x4c6954
push edi
mov ecx, esi
call fcn.004f5b60
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.004f5c80
mov ecx, esi
inc edi
call fcn.004f5d00
movsx eax, ax
dec eax
cmp edi, eax
jl 0x4c6948
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.004d3100
mov ecx, esi
call fcn.004f5d00
dec eax
lea ecx, [esp + 0x10]
push eax
call fcn.004f5d20
push eax
mov ecx, esi
call fcn.004f5dc0
push 3
mov ecx, esi
call fcn.004f5b60
cmp al, 0x7f
jne 0x4c6c6c
push 4
mov ecx, esi
call fcn.004f5b60
push 3
lea ecx, [esp + 0x80]
mov bl, al
call fcn.004f5b60
cmp bl, al
jne 0x4c6c6c
push 5
mov ecx, esi
call fcn.004f5b60
cmp al, 0x78
jne 0x4c6b4a
mov byte [esp + 0x88], 1
xor ebx, ebx
sub esp, 0x24
mov ecx, 0x554070
mov edx, esp
mov dword [esp + 0xa4], esp
push ebx
push edx
call fcn.004f4b10
lea ecx, [esp + 0x6c]
call fcn.004f7290
lea ecx, [esp + 0x48]
call fcn.004f76c0
test ax, ax
jle 0x4c6a8e
push ebx
lea ecx, [esp + 0x4c]
call fcn.004f7600
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x4c6a8e
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
je 0x4c6a8e
push ebx
lea ecx, [esp + 0x4c]
call fcn.004f7600
mov ecx, dword [eax + 4]
call fcn.004f5d00
cmp ax, 5
jl 0x4c6a8e
push ebx
push ebx
lea ecx, [esp + 0x50]
call fcn.004f7600
mov ecx, eax
call fcn.0041fe70
push ecx
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
call fcn.004f5850
mov ecx, esi
call fcn.004f5b70
push 3
mov ecx, esi
call fcn.004f5b60
cmp al, 0x7f
jne 0x4c6aea
push 5
mov ecx, esi
call fcn.004f5b60
cmp al, 0x78
jne 0x4c6aea
mov al, byte [esp + 0x88]
mov cl, al
inc al
cmp cl, 5
mov byte [esp + 0x88], al
jb 0x4c69e9
lea ecx, [esp + 0x10]
mov byte [esp + 0x74], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 3
call fcn.004f5980
lea ecx, [esp + 0x48]
mov byte [esp + 0x74], 2
call fcn.004f71e0
lea ecx, [esp + 0x38]
mov byte [esp + 0x74], 1
call fcn.004f61c0
mov byte [esp + 0x74], bl
jmp 0x4c6e2f
lea ecx, [esp + 0x10]
mov byte [esp + 0x74], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 3
call fcn.004f5980
lea ecx, [esp + 0x48]
mov byte [esp + 0x74], 2
call fcn.004f71e0
lea ecx, [esp + 0x38]
mov byte [esp + 0x74], 1
call fcn.004f61c0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x74], bl
call fcn.004f5980
lea ecx, [esp + 0x84]
mov dword [esp + 0x74], 0xffffffff
call fcn.004f5980
mov al, 1
jmp 0x4c6e4e
mov al, byte [esp + 0x88]
test al, al
je 0x4c6cab
push 6
push 0x54c970
lea ecx, [esp + 0x90]
call fcn.004f58e0
xor bl, bl
mov byte [esp + 0x74], 6
mov byte [esp + 0x28], 0x11
mov byte [esp + 0x29], 0x12
mov byte [esp + 0x2a], 0x22
mov byte [esp + 0x2b], 0x31
mov byte [esp + 0x2c], 0x33
mov byte [esp + 0x2d], 0x35
mov byte [esp + 0x2e], 0x36
mov byte [esp + 0x2f], 0x37
mov byte [esp + 0x30], 0x42
mov byte [esp + 0x31], 0x43
mov byte [esp + 0x32], 0x72
mov byte [esp + 0x33], 0x75
mov byte [esp + 0x34], 0x79
mov byte [esp + 0x35], 0x80
mov byte [esp + 0x80], bl
push 5
mov ecx, esi
call fcn.004f5b60
mov edx, dword [esp + 0x80]
and edx, 0xff
cmp al, byte [esp + edx + 0x28]
je 0x4c6bec
inc bl
cmp bl, 5
mov byte [esp + 0x80], bl
jb 0x4c6bc0
jmp 0x4c6c09
push 5
mov ecx, esi
call fcn.004f5b60
push eax
push 5
lea ecx, [esp + 0x90]
call fcn.004f5c80
cmp bl, 5
jb 0x4c6c19
push 0
push 5
lea ecx, [esp + 0x90]
call fcn.004f5c80
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
lea eax, [esp + 0x98]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
mov byte [esp + 0x88], 7
call fcn.004f5850
mov ecx, 0x5540a8
mov byte [esp + 0x84], 6
call fcn.004f91a0
mov byte [esp + 0x74], 5
lea ecx, [esp + 0x88]
jmp 0x4c6ca6
push esi
lea ecx, [esp + 0x18]
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x74], 8
call fcn.004f5d00
dec eax
mov ecx, esi
push eax
call fcn.004f5b60
lea ecx, [esp + 0x14]
mov bl, al
push ecx
mov ecx, ebp
call fcn.004d3100
cmp al, bl
je 0x4c6cd1
mov byte [esp + 0x74], 5
lea ecx, [esp + 0x14]
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x74], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 3
call fcn.004f5980
mov byte [esp + 0x74], 2
jmp 0x4c6e13
push 0
lea ecx, [esp + 0x84]
call fcn.004f5870
lea edx, [esp + 0x80]
lea ecx, [esp + 0x84]
push edx
mov byte [esp + 0x78], 9
call fcn.004f5c20
lea ecx, [esp + 0x80]
mov bl, al
mov byte [esp + 0x74], 8
call fcn.004f5980
test bl, bl
je 0x4c6d7e
lea ecx, [esp + 0x14]
mov byte [esp + 0x74], 5
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x74], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 3
call fcn.004f5980
lea ecx, [esp + 0x48]
mov byte [esp + 0x74], 2
call fcn.004f71e0
lea ecx, [esp + 0x38]
mov byte [esp + 0x74], 1
call fcn.004f61c0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x74], 0
call fcn.004f5980
lea ecx, [esp + 0x84]
mov dword [esp + 0x74], 0xffffffff
call fcn.004f5980
mov al, 1
jmp 0x4c6e4e
lea eax, [esp + 0x84]
mov ecx, esi
push eax
call fcn.004f5c20
test al, al
mov byte [esp + 0x74], 5
lea ecx, [esp + 0x14]
je 0x4c6ca6
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x74], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 3
call fcn.004f5980
lea ecx, [esp + 0x48]
mov byte [esp + 0x74], 2
call fcn.004f71e0
lea ecx, [esp + 0x38]
mov byte [esp + 0x74], 1
call fcn.004f61c0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x74], 0
call fcn.004f5980
lea ecx, [esp + 0x84]
mov dword [esp + 0x74], 0xffffffff
call fcn.004f5980
mov al, 1
jmp 0x4c6e4e
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 3
call fcn.004f5980
mov byte [esp + 0x74], bl
lea ecx, [esp + 0x48]
call fcn.004f71e0
lea ecx, [esp + 0x38]
mov byte [esp + 0x74], 1
call fcn.004f61c0
mov byte [esp + 0x74], 0
lea ecx, [esp + 0x7c]
call fcn.004f5980
lea ecx, [esp + 0x84]
mov dword [esp + 0x74], 0xffffffff
call fcn.004f5980
xor al, al
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x68
ret 0x10