Function at 0x477c10
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a2128
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x5f300c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov byte [edx], 1
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0
mov ecx, dword [esi + 0x1c]
cmp dword [esi + 0xc], ecx
push dword [esi + 0x30]
sbb eax, eax
neg eax
inc eax
sub ecx, eax
push ecx
mov ecx, dword [esi]
call fcn.00475ef0
mov dword [esi + 0x30], 3
mov edx, dword [esi + 0x38]
cmp edx, 0x20
je 0x477c99
cmp edx, 9
jl 0x477c8a
cmp edx, 0xd
jle 0x477c99
mov ecx, edx
call fcn.00478380
test al, al
jne 0x477c99
mov ecx, edx
jmp 0x477ca5
cmp edx, 0x2e
jne 0x477cf0
mov ecx, edx
cmp dword [esi + 0x40], ecx
je 0x477cf0
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
cmp edx, edi
jae 0x477cd4
lea eax, [edx + 1]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmp edi, 0x10
jb 0x477cc3
mov eax, dword [ebp - 0x28]
mov byte [eax + edx], cl
mov ecx, esi
mov byte [eax + edx + 1], 0
call fcn.004761d0
jmp 0x477c78
push dword [ebp - 0x30]
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0042a1d0
mov ecx, esi
call fcn.004761d0
jmp 0x477c78
mov eax, dword [esi + 0x34]
cmp eax, 0x65
je 0x477d01
cmp eax, 0x45
jne 0x477d8c
mov bl, dl
cmp edx, 0x2b
je 0x477d0d
cmp edx, 0x2d
jne 0x477d8c
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp ecx, edx
jae 0x477d32
lea eax, [ecx + 1]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmp edx, 0x10
jb 0x477d28
mov eax, dword [ebp - 0x28]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x477d43
push ebx
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0042a1d0
mov ecx, esi
call fcn.004761d0
mov ecx, dword [esi + 0x38]
mov bl, cl
cmp ecx, 0x20
je 0x477d8c
cmp ecx, 9
jl 0x477d5e
cmp ecx, 0xd
jle 0x477d8c
call fcn.00478380
test al, al
jne 0x477d8c
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp ecx, edx
jae 0x477d32
lea eax, [ecx + 1]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmp edx, 0x10
jb 0x477d28
mov eax, dword [ebp - 0x28]
mov byte [eax + ecx], bl
mov byte [eax + ecx + 1], 0
jmp 0x477d43
lea ecx, [ebp - 0x28]
call fcn.004784d0
test al, al
jne 0x477da6
mov dword [esi + 0x30], 0xb
mov eax, 0xb
jmp 0x477da9
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x1c]
cmp dword [esi + 0xc], ecx
push eax
sbb eax, eax
neg eax
inc eax
sub ecx, eax
push ecx
mov ecx, dword [esi]
call fcn.00475ef0
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x30], 0
cmp edx, 0x10
jb 0x477dfc
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x477df2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x477df2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0059e222
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0059df64
mov esp, ebp
pop ebp
ret