Function at 0x47d3a8
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi + 0x24], 0
je 0x47d3bd
int 0x2c
mov eax, dword [esi]
movzx edx, word [esi + 0x1c]
mov ebx, dword [esi + 8]
mov dword [ebp - 0xc], eax
mov ax, word [esi + 0xc]
sub ax, word [esi + 8]
imul ecx, edx, 0x18
movzx edi, ax
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x10], ebx
mov dword [ebp - 8], 8
mov dword [ebp - 0x10], ecx
mov ax, word [ecx + eax + 0x78]
mov word [esi + 0x18], ax
xor eax, eax
mov word [esi + 0x1a], ax
mov eax, dword [ebp - 0xc]
movzx eax, word [ecx + eax + 0x78]
xor ecx, ecx
inc ecx
cmp eax, 0x12c
ja 0x47d5e3
je case.0x47d41b.22
cmp eax, 0x19
ja case.default.0x47d5f1
jmp dword [eax*4 + 0x47d704]
mov word [esi + 0x1a], cx
mov word [esi + 0x14], cx
mov word [esi + 0x16], cx
cmp cx, di
ja 0x47d6d4
cmp edx, dword [esi + 0x40]
jb 0x47d43e
int 0x2c
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x3c]
mov word [eax + edx*2], cx
xor eax, eax
jmp 0x47d6fd
push 2
pop eax
mov word [esi + 0x1a], ax
mov word [esi + 0x14], ax
mov word [esi + 0x16], ax
cmp ax, di
ja 0x47d6d4
movzx ecx, word [ebx]
cmp edx, dword [esi + 0x40]
jb 0x47d441
int 0x2c
jmp 0x47d441
push 4
pop eax
mov word [esi + 0x1a], ax
mov word [esi + 0x14], ax
mov word [esi + 0x16], ax
cmp ax, di
ja 0x47d6d4
mov ecx, 0xffff
cmp dword [ebx], ecx
ja 0x47d496
mov ecx, dword [ebx]
cmp edx, dword [esi + 0x40]
jb 0x47d441
int 0x2c
jmp 0x47d441
push 4
pop eax
mov word [esi + 0x1a], ax
mov word [esi + 0x14], ax
jmp 0x47d6d0
mov edx, dword [ebp - 8]
mov word [esi + 0x1a], dx
mov word [esi + 0x14], dx
mov word [esi + 0x16], dx
jmp 0x47d6d7
push 0x10
jmp 0x47d4a1
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.0047dd43
test al, al
je 0x47d4ed
mov ax, word [ebp - 4]
add ax, ax
mov word [esi + 0x14], ax
mov word [esi + 0x16], ax
xor ecx, ecx
inc ecx
jmp 0x47d6d4
mov ebx, edi
mov eax, edi
shr eax, 1
push eax
push dword [esi + 8]
call dword [sym.imp.msvcrt.dll_wcsnlen]
movzx eax, ax
pop ecx
pop ecx
shr di, 1
lea ecx, [eax + eax]
mov word [esi + 0x14], cx
cmp di, ax
je 0x47d517
movzx ebx, cx
add ebx, 2
mov word [esi + 0x16], bx
jmp 0x47d448
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.0047dd43
test al, al
je 0x47d535
mov ax, word [ebp - 4]
jmp 0x47d4dd
mov ebx, edi
push ebx
push dword [esi + 8]
call dword [sym.imp.msvcrt.dll_strnlen]
movzx eax, ax
mov word [esi + 0x14], ax
pop ecx
pop ecx
cmp di, ax
je 0x47d517
lea ebx, [eax + 1]
jmp 0x47d517
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.0047dd43
test al, al
jne 0x47d52f
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
push 0x18
pop edx
cmp dx, word [eax + ecx + 0x7a]
jne 0x47d52f
push 0xe
pop edx
cmp dx, word [eax + ecx + 0x78]
jne 0x47d52f
push 0x10
pop eax
jmp 0x47d4dd
push 0xe
pop eax
mov ecx, esi
mov word [esi + 0x18], ax
call fcn.0047d7e9
jmp 0x47d4e5
xor eax, eax
mov dword [esi + 0x14], eax
jmp 0x47d448
mov edx, dword [ebp - 8]
cmp di, dx
jae 0x47d5ae
mov eax, edx
jmp 0x47d5c1
movzx eax, byte [ebx + 1]
add ax, 2
shl ax, 2
mov word [esi + 0x14], ax
movzx eax, ax
mov word [esi + 0x16], ax
jmp 0x47d6d7
mov word [esi + 0x18], cx
mov ecx, esi
call fcn.0047d7e9
mov eax, 0xfffe
and word [esi + 0x14], ax
jmp 0x47d4e5
sub eax, 0x12d
cmp eax, 9
ja case.default.0x47d5f1
jmp dword [eax*4 + 0x47d76c]
mov word [esi + 0x1a], cx
mov word [esi + 0x14], cx
mov word [esi + 0x16], cx
jmp 0x47d6d4
push 2
jmp 0x47d4a1
mov ecx, esi
call fcn.0047d855
movzx eax, al
mov word [esi + 0x1a], ax
jmp 0x47d4dd
mov word [esi + 0x18], cx
mov ecx, esi
call fcn.0047d81f
jmp 0x47d5d5
push 2
jmp 0x47d587
push 2
pop eax
mov ecx, esi
mov word [esi + 0x18], ax
call fcn.0047d81f
jmp 0x47d4e5
push 0xe
pop eax
push 4
mov word [esi + 0x18], ax
pop eax
cmp di, ax
jb 0x47d6d0
lea eax, [ebx + 4]
mov dword [esi + 0x10], eax
movzx eax, word [ebx]
mov word [esi + 0x14], ax
add eax, 4
movzx eax, ax
jmp 0x47d6d0
mov eax, edi
mov word [esi + 0x18], cx
and eax, 0xfffe
mov word [esi + 0x14], ax
mov word [esi + 0x16], di
jmp 0x47d6d4
push 2
pop eax
mov word [esi + 0x18], ax
mov word [esi + 0x14], di
jmp 0x47d67d
push 0x13
pop eax
mov ecx, esi
mov word [esi + 0x18], ax
call fcn.0047d855
movzx edx, al
add dx, dx
movzx eax, dx
lea ecx, [eax + 8]
cmp edi, ecx
jae 0x47d6b6
lea eax, [edx + 8]
jmp 0x47d4e1
add eax, ebx
xor ecx, ecx
mov dword [esi + 0x10], eax
movzx eax, byte [eax + 1]
add ax, 2
shl ax, 2
mov word [esi + 0x14], ax
add eax, edx
inc ecx
mov word [esi + 0x16], ax
mov edx, dword [ebp - 8]
xor eax, eax
cmp di, word [esi + 0x16]
jae 0x47d6fd
push 0xd
mov dword [esi + 0x14], eax
mov byte [esi + 0x27], cl
mov byte [esi + 0x28], dl
pop eax
jmp 0x47d6fd
xor eax, eax
mov word [esi + 0x27], 0x801
mov dword [esi + 0x14], eax
mov eax, 0x65e
pop edi
pop esi
pop ebx
leave
ret