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

Disassembly:
mov ecx, dword [0x5e82a4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4772f2
sub esp, 0x68
mov eax, dword [esp + 0x70]
lea ecx, [eax + 2]
mov dword [esp + 0x38], ecx
lea edx, [0x4e8a40]
mov dword [esp], edx
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
call fcn.0044ab80
mov eax, dword [esp + 0xc]
mov byte [eax], 0x22
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
mov esi, 1
jmp 0x476f00
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x44]
mov ebx, eax
mov eax, edx
mov esi, ecx
mov ecx, edi
mov edx, dword [esp + 0x6c]
cmp ecx, ebp
jle 0x477121
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], eax
movzx edi, byte [edx + ebp]
lea eax, [edx + ebp]
cmp edi, 0x80
jge 0x476f2c
lea ebx, [ebp + 1]
jmp 0x476f5c
mov dword [esp + 0x64], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.0045bce0
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x44], ebx
lea ebx, [edi - 0x20]
cmp ebx, 0x60
jb 0x476ff8
cmp edi, 0xfffd
jne 0x476fac
lea ebx, [ebp + 2]
cmp ecx, ebx
jle 0x476fa5
lea ebx, [ebp + 3]
cmp ecx, ebx
jb 0x4772e8
cmp ebp, ebx
ja 0x4772df
cmp word [eax], 0xbfef
jne 0x476fa5
lea ebx, [edx + ebp + 2]
cmp byte [ebx], 0xbd
jne 0x476fa5
mov eax, 3
jmp 0x476fd9
mov eax, 1
jmp 0x476fd9
mov eax, edi
sar edi, 0x1f
lea ecx, [esp + 0x4c]
mov dword [esp], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], eax
call fcn.0044ed30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
jmp 0x4771a0
cmp edi, 0x22
je 0x477002
cmp edi, 0x5c
jne 0x477060
lea eax, [esi + 1]
mov ebx, dword [esp + 0x38]
cmp ebx, eax
jb 0x477013
mov ebp, dword [esp + 0x58]
jmp 0x477059
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4e8a40]
mov dword [esp + 0x10], eax
call fcn.0044ac40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x30]
mov ebp, eax
mov eax, ecx
mov ecx, dword [esp + 0x70]
mov byte [eax + ebp - 1], 0x5c
jmp 0x47706a
mov ebx, dword [esp + 0x38]
mov eax, esi
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], ebp
mov ecx, edi
sar edi, 0x1f
lea edx, [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
call fcn.0044ed30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
lea edx, [eax + ecx]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x38]
cmp ebp, edx
jb 0x4770ac
mov esi, dword [esp + 0x60]
jmp 0x4770f2
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x4e8a40]
mov dword [esp + 0x10], ecx
call fcn.0044ac40
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov esi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x38], ebp
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00463ec0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x60]
jmp 0x476ee8
lea ecx, [esi + 1]
cmp ebx, ecx
jae 0x477152
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4e8a40]
mov dword [esp + 0x10], eax
call fcn.0044ac40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax - 1], 0x22
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044e950
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
add esp, 0x68
ret
xchg esi, ebx
mov byte [eax + edi - 1], bl
xchg esi, ebx
mov ecx, dword [esp + 0x28]
inc ecx
mov esi, dword [esp + 0x2c]
mov ebp, esi
mov dword [esp + 0x28], ecx
mov esi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x28]
cmp eax, ebp
jle 0x4772cd
lea eax, [esi + 2]
cmp ebx, eax
jae 0x4771f5
mov dword [esp + 0x3c], esi
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea eax, [0x4e8a40]
mov dword [esp + 0x10], eax
call fcn.0044ac40
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov word [edi + esi], 0x785c
mov esi, dword [esp + 0x2c]
add esi, ebp
cmp ecx, esi
jbe 0x4772d8
inc eax
movzx ecx, byte [edx + esi]
shr cl, 4
movzx ecx, cl
lea ebp, [0x4ff09b]
movzx ecx, byte [ebp + ecx]
cmp ebx, eax
jae 0x47726c
mov dword [esp + 0x40], esi
mov byte [esp + 0x23], cl
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4e8a40]
mov dword [esp + 0x10], eax
call fcn.0044ac40
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
mov edx, dword [esp + 0x6c]
lea ebp, [0x4ff09b]
mov esi, dword [esp + 0x40]
mov byte [eax + edi - 1], cl
inc eax
movzx esi, byte [edx + esi]
and esi, 0xf
movzx esi, byte [ebp + esi]
cmp ebx, eax
jae 0x47717f
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4e8a40]
mov dword [esp + 0x10], eax
call fcn.0044ac40
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x6c]
lea ebp, [0x4ff09b]
movzx esi, byte [esp + 0x23]
jmp 0x47717f
mov eax, ebx
mov ecx, esi
mov edx, edi
jmp 0x476ee8
mov eax, esi
call fcn.00463640
mov eax, ebp
mov ecx, ebx
call fcn.004636a0
mov edx, ecx
mov ecx, ebx
call fcn.00463660
nop
call fcn.004621e0
jmp fcn.00476e90