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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x475183
sub esp, 0x6c
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov ecx, dword [esp + 0x74]
lea edx, [ecx + 2]
mov dword [esp + 0x38], edx
mov dword [esp + 8], edx
call fcn.00447600
mov eax, dword [esp + 0xc]
mov byte [eax], 0x22
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
mov esi, 1
jmp 0x474d82
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x48]
mov esi, ecx
mov ebx, eax
mov eax, edx
mov ecx, edi
mov edx, dword [esp + 0x74]
mov dword [esp + 0x34], esi
cmp edx, ebp
jle 0x474f97
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x5c], eax
movzx edi, byte [ecx + ebp]
lea ebx, [ecx + ebp]
cmp edi, 0x80
jge 0x474dae
lea esi, [ebp + 1]
jmp 0x474dde
mov dword [esp + 0x68], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045a6c0
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x48], esi
lea esi, [edi - 0x20]
cmp esi, 0x60
jb 0x474e7a
cmp edi, 0xfffd
jne 0x474e2e
lea esi, [ebp + 2]
cmp edx, esi
jle 0x474e27
lea esi, [ebp + 3]
cmp edx, esi
jb 0x47517b
cmp ebp, esi
ja 0x475172
cmp word [ebx], 0xbfef
jne 0x474e27
lea ebx, [ecx + ebp + 2]
cmp byte [ebx], 0xbd
jne 0x474e27
mov ebx, 3
jmp 0x474e5b
mov ebx, 1
jmp 0x474e5b
lea eax, [esp + 0x50]
mov dword [esp], eax
mov eax, edi
sar edi, 0x1f
mov dword [esp + 8], edi
mov dword [esp + 4], eax
call fcn.0044d6a0
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x24], ebx
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
jmp 0x475015
cmp edi, 0x22
je 0x474e84
cmp edi, 0x5c
jne 0x474edc
mov ebx, dword [esp + 0x34]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x38]
cmp esi, ebp
jae 0x474ed6
mov dword [esp + 0x30], edi
lea ecx, [0x52a9e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x30]
mov esi, ebx
mov ebx, dword [esp + 0x34]
mov byte [eax + ebx], 0x5c
jmp 0x474ee4
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x38], esi
lea ecx, [esp + 0x4c]
mov dword [esp], ecx
mov ecx, edi
sar edi, 0x1f
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
call fcn.0044d6a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
lea edx, [eax + ecx]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x38]
cmp ebp, edx
jb 0x474f2a
mov esi, dword [esp + 0x64]
jmp 0x474f6c
mov dword [esp + 0x40], eax
mov dword [esp + 0x60], ebx
lea eax, [0x52a9e0]
mov dword [esp], eax
mov ebx, dword [esp + 0x64]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x60]
mov ebp, esi
mov esi, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x64], 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.0045fa10
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x64]
jmp 0x474d6a
lea ecx, [esi + 1]
cmp ebx, ecx
jae 0x474fc9
lea edx, [0x52a9e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc ecx
mov esi, dword [esp + 0x34]
mov byte [eax + esi], 0x22
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044d1c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x6c
ret
xchg edi, ebx
mov byte [eax + ebp], bl
xchg edi, ebx
mov ebp, dword [esp + 0x28]
inc ebp
mov edi, dword [esp + 0x24]
mov dword [esp + 0x28], ebp
mov edi, esi
mov ebp, dword [esp + 0x2c]
mov esi, ebx
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
jle 0x47515e
mov dword [esp + 0x3c], esi
lea ebx, [esi + 2]
mov dword [esp + 0x34], ebx
cmp edi, ebx
jae 0x47506a
lea ecx, [0x52a9e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov word [eax + esi], 0x785c
mov ebx, dword [esp + 0x2c]
add ebx, ebp
cmp edx, ebx
jbe 0x475169
mov dword [esp + 0x44], ebx
lea ebp, [esi + 3]
movzx ebx, byte [ecx + ebx]
shr bl, 4
movzx ebx, bl
lea esi, [0x53e904]
movzx ebx, byte [ebx + esi]
cmp edi, ebp
jae 0x4750e5
mov byte [esp + 0x23], bl
lea ecx, [0x52a9e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
movzx ebx, byte [esp + 0x23]
lea esi, [0x53e904]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x3c]
mov byte [edi + eax + 2], bl
lea ebx, [ebp + 1]
mov edi, dword [esp + 0x44]
movzx edi, byte [ecx + edi]
and edi, 0xf
movzx edi, byte [edi + esi]
mov esi, dword [esp + 0x38]
cmp esi, ebx
jae 0x474ff5
mov dword [esp + 0x34], ebp
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
lea ecx, [0x52a9e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x34]
mov esi, edi
movzx edi, byte [esp + 0x23]
jmp 0x474ff5
mov ecx, esi
mov edx, eax
mov eax, edi
jmp 0x474d6a
mov eax, ebx
mov ecx, edx
call fcn.0045f140
mov eax, ebp
mov ecx, esi
call fcn.0045f1a0
mov ecx, esi
call fcn.0045f160
nop
call fcn.0045dcf0
jmp fcn.00474d10