Function at 0x4c549c
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov dword [ebp - 0x420], edx
test edx, edx
je 0x4425f7
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4425e9
xor ecx, ecx
cmp dword [ebp + 0x10], ecx
je 0x46507f
mov dword [ebp - 0x414], ecx
cmp dword [esi + 0x18], ecx
jbe 0x46505d
mov eax, dword [esi + 0x20]
add eax, edi
mov dword [ebp - 0x410], eax
jmp 0x442627
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
add eax, edi
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5367f5
jmp 0x5367cc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004567c3
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x414]
cmp ecx, 0xffffffff
je 0x46505d
cmp dword [ebp + 0x10], 0
jmp 0x4bfb20
mov byte [edi], 0
inc edi
xor eax, eax
lea ecx, [ecx]
lea ecx, [eax + 1]
imul ecx, ecx, 0x619
xor cx, word [eax*2 + 0x57b2ec]
inc eax
mov word [ebp + eax*2 - 0x30e], cx
cmp eax, 4
jl 0x472b2f
lea edx, [ebp - 0x10c]
push edx
lea eax, [ebp - 0x30c]
push eax
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.msvcrt.dll_sprintf]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
jmp 0x47752e
add esp, 0xc
push edx
mov edx, dword [ebp - 0x418]
push ebx
push eax
push edi
lea ecx, [ebp - 0x20c]
push ecx
push edx
call fcn.00505cfa
add esp, 0x18
mov esi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004567c3
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x18], 0
jne 0x505ce7
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x418]
jmp 0x505cdc
mov ebx, dword [ebp - 0x420]
test ebx, ebx
je 0x4b698f
mov byte [ebx + 0xff], 1
lea eax, [esi + edi]
lea edx, [ebp - 0x10c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4b699a
lea ecx, [ebp - 0x40c]
push ecx
lea edx, [ebp - 0x10c]
mov eax, 0x2e
push edx
mov word [ebp - 0x40c], ax
call dword [sym.imp.msvcrt.dll_strstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x505ce7
jmp 0x472b26
movzx eax, word [ebp + 0x14]
je 0x4bfb3b
mov edx, dword [esi + 0x24]
lea eax, [edx + ecx*2]
mov cx, word [eax + edi]
add cx, word [esi + 0x10]
movzx eax, cx
movzx edx, ax
sub edx, dword [esi + 0x10]
mov eax, dword [esi + 0x1c]
lea ecx, [eax + edx*4]
mov esi, dword [ecx + edi]
mov eax, dword [ebx + edi + 0x78]
cmp esi, eax
jb 0x47755e
mov edx, dword [ebx + edi + 0x7c]
add edx, eax
cmp esi, edx
ja 0x47755e
jmp 0x4b697a
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov ebx, dword [edi + 0x3c]
mov esi, dword [ebx + edi + 0x78]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp + 0xc]
add esi, edi
mov dword [ebp - 0x41c], eax
jmp 0x4425d8
push eax
call fcn.0047ffc5
add esp, 4
add esi, eax
mov ecx, dword [ebp - 8]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.004567c3
mov esp, ebp
pop ebp
ret
test dl, dl
je 0x5367ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5367f5
add eax, 2
add ecx, 2
test dl, dl
jne 0x442631
xor eax, eax
jmp 0x5367fa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x465070
mov eax, dword [ebp - 0x414]
jmp dword [0x536812]