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

Disassembly:
sub esp, 0xf8
push ebx
push ebp
mov ebp, dword [esp + 0x104]
push esi
xor esi, esi
push edi
mov ebx, ecx
mov edi, eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov eax, ebx
mov edx, ebp
mov ecx, dword [eax]
inc dword [esp + ecx*4 + 0x4c]
lea ecx, [esp + ecx*4 + 0x4c]
add eax, 4
sub edx, 1
jne 0x47d124
cmp dword [esp + 0x4c], ebp
jne 0x47d154
mov eax, dword [esp + 0x11c]
mov dword [eax], esi
mov dword [edi], esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xf8
ret
mov ebp, dword [edi]
mov dword [esp + 0x10], ebp
mov ecx, 1
nop
cmp dword [esp + ecx*4 + 0x4c], esi
jne 0x47d16c
inc ecx
cmp ecx, 0xf
jbe 0x47d160
mov eax, ecx
mov dword [esp + 0x1c], eax
cmp ebp, ecx
jae 0x47d17c
mov dword [esp + 0x10], ecx
mov ebp, ecx
mov edx, 0xf
cmp dword [esp + edx*4 + 0x4c], esi
jne 0x47d18c
sub edx, 1
jne 0x47d181
mov dword [esp + 0x2c], edx
cmp ebp, edx
jbe 0x47d19a
mov dword [esp + 0x10], edx
mov ebp, edx
mov dword [edi], ebp
mov edi, 1
shl edi, cl
cmp ecx, edx
jae 0x47d1c1
jmp 0x47d1b0
sub edi, dword [esp + ecx*4 + 0x4c]
js 0x47d2cc
inc ecx
add edi, edi
cmp ecx, edx
jb 0x47d1b0
lea ecx, [edx*4]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + ecx + 0x4c]
sub edi, ecx
mov dword [esp + 0x48], edi
js 0x47d2cc
add ecx, edi
mov edi, dword [esp + 0x14]
mov dword [esp + edi + 0x4c], ecx
xor ecx, ecx
sub edx, 1
mov dword [esp + 0x90], esi
je 0x47d209
xor edi, edi
add ecx, dword [esp + edi + 0x50]
add edi, 4
sub edx, 1
mov dword [esp + edi + 0x90], ecx
jne 0x47d1f6
mov edx, ebx
xor edi, edi
lea ecx, [ecx]
mov ecx, dword [edx]
add edx, 4
mov dword [esp + 0x20], edx
cmp ecx, esi
je 0x47d23c
mov edx, dword [esp + ecx*4 + 0x8c]
mov ebx, dword [esp + 0x128]
lea ecx, [esp + ecx*4 + 0x8c]
mov dword [ebx + edx*4], edi
inc edx
mov dword [ecx], edx
mov edx, dword [esp + 0x20]
inc edi
cmp edi, dword [esp + 0x10c]
jb 0x47d210
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + edx + 0x8c]
mov edx, dword [esp + 0x128]
mov ebx, ebp
or edi, 0xffffffff
neg ebx
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0xcc], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x18], esi
jg 0x47d50a
mov esi, dword [esp + 0x34]
lea ecx, [eax - 1]
lea edx, [esp + eax*4 + 0x4c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x47d4f0
dec dword [esp + 0x24]
lea ecx, [ebx + ebp]
cmp eax, ecx
jle 0x47d3e1
mov dword [esp + 0x38], ecx
mov ecx, ebx
sub ecx, ebp
jmp 0x47d2e8
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0xf8
ret
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
add dword [esp + 0x38], ebp
add ebx, ebp
inc edi
add ecx, ebp
sub edx, ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x40], ecx
cmp edx, ebp
jbe 0x47d305
mov edx, ebp
mov ebp, dword [esp + 0x24]
mov ecx, eax
sub ecx, ebx
mov eax, 1
shl eax, cl
inc ebp
cmp eax, ebp
jbe 0x47d347
mov ebp, dword [esp + 0x14]
or edi, 0xffffffff
sub edi, dword [esp + 0x24]
add eax, edi
cmp ecx, edx
jae 0x47d343
inc ecx
cmp ecx, edx
jae 0x47d343
nop
mov edi, dword [ebp + 4]
add ebp, 4
add eax, eax
cmp eax, edi
jbe 0x47d343
inc ecx
sub eax, edi
cmp ecx, edx
jb 0x47d330
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x124]
mov eax, dword [eax]
mov edx, 1
shl edx, cl
mov dword [esp + 0x18], edx
add edx, eax
cmp edx, 0x5a0
ja 0x47d52f
mov ebp, dword [esp + 0x120]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x124]
mov dword [esp + 0x44], ebp
mov dword [esp + edi*4 + 0xcc], ebp
mov dword [eax], edx
test edi, edi
je 0x47d3c8
mov esi, dword [esp + 0x28]
mov dl, byte [esp + 0x10]
mov eax, esi
mov byte [esp + 0x30], cl
mov ecx, dword [esp + 0x40]
mov dword [esp + edi*4 + 0x8c], esi
shr eax, cl
mov ecx, dword [esp + edi*4 + 0xc8]
mov esi, ebp
sub esi, ecx
mov byte [esp + 0x31], dl
mov edx, dword [esp + 0x30]
sar esi, 3
sub esi, eax
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], esi
jmp 0x47d3d1
mov eax, dword [esp + 0x11c]
mov dword [eax], ebp
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jg 0x47d2e0
mov ecx, dword [esp + 0x128]
mov ebp, dword [esp + 0x20]
mov dl, al
sub dl, bl
mov byte [esp + 0x31], dl
mov edx, dword [esp + 0x10c]
lea ecx, [ecx + edx*4]
cmp ebp, ecx
jb 0x47d409
mov byte [esp + 0x30], 0xc0
jmp 0x47d44f
mov esi, dword [ebp]
mov ecx, dword [esp + 0x110]
cmp esi, ecx
jae 0x47d427
cmp esi, 0x100
sbb dl, dl
and dl, 0xa0
add dl, 0x60
jmp 0x47d444
sub esi, ecx
mov ecx, dword [esp + 0x118]
add esi, esi
add esi, esi
mov dl, byte [esi + ecx]
mov ecx, dword [esp + 0x114]
mov esi, dword [esi + ecx]
add dl, 0x50
add ebp, 4
mov dword [esp + 0x20], ebp
mov byte [esp + 0x30], dl
mov ecx, eax
mov eax, dword [esp + 0x28]
sub ecx, ebx
mov edx, 1
shl edx, cl
mov ecx, ebx
shr eax, cl
cmp eax, dword [esp + 0x18]
jae 0x47d48a
mov ecx, dword [esp + 0x44]
lea ecx, [ecx + eax*8]
nop
mov ebp, dword [esp + 0x30]
mov dword [ecx], ebp
lea ebp, [edx*8]
mov dword [ecx + 4], esi
add eax, edx
add ecx, ebp
cmp eax, dword [esp + 0x18]
jb 0x47d470
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov eax, 1
shl eax, cl
test edx, eax
je 0x47d4a8
lea ecx, [ecx]
xor edx, eax
shr eax, 1
test edx, eax
jne 0x47d4a0
xor edx, eax
mov eax, 1
mov ecx, ebx
shl eax, cl
mov dword [esp + 0x28], edx
dec eax
and eax, edx
cmp eax, dword [esp + edi*4 + 0x8c]
je 0x47d4dd
sub ebx, dword [esp + 0x10]
mov eax, 1
mov ecx, ebx
shl eax, cl
dec edi
dec eax
and eax, edx
cmp eax, dword [esp + edi*4 + 0x8c]
jne 0x47d4c3
cmp dword [esp + 0x24], 0
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
jne 0x47d2b3
add dword [esp + 0x14], 4
inc dword [esp + 0x3c]
inc eax
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
jle 0x47d2a1
xor esi, esi
cmp dword [esp + 0x48], esi
je 0x47d147
cmp dword [esp + 0x2c], 1
je 0x47d147
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0xf8
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
add esp, 0xf8
ret