Function at 0x443510
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x52c4e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
mov dword [esp + 0x10], 0
mov eax, dword [0x58ada8]
push edi
mov ecx, 0x58ada8
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x30]
lea ecx, [ebx + 1]
push ecx
lea ecx, [esp + 0x18]
mov byte [esp + 0x24], 1
call fcn.0042c210
mov edx, dword [esp + 0x14]
xor ebp, ebp
test ebx, ebx
je 0x44388b
mov edi, dword [esp + 0x2c]
mov al, byte [edi]
movsx ecx, al
dec ebx
inc edi
cmp ecx, 0x25
je 0x4435a2
cmp ecx, 0x2b
je 0x443599
mov byte [edx + ebp], al
jmp 0x443871
mov byte [edx + ebp], 0x20
jmp 0x443871
cmp ebx, 2
jb 0x4436aa
mov al, byte [edi]
cmp al, 0x30
jl 0x4435b5
cmp al, 0x39
jle 0x4435cd
cmp al, 0x61
jl 0x4435bd
cmp al, 0x66
jle 0x4435cd
cmp al, 0x41
jl 0x4436aa
cmp al, 0x46
jg 0x4436aa
mov cl, byte [edi + 1]
cmp cl, 0x30
jl 0x4435da
cmp cl, 0x39
jle 0x4435f6
cmp cl, 0x61
jl 0x4435e4
cmp cl, 0x66
jle 0x4435f6
cmp cl, 0x41
jl 0x4436aa
cmp cl, 0x46
jg 0x4436aa
cmp al, 0x30
jl 0x443606
cmp al, 0x39
jg 0x443606
movsx eax, al
sub eax, 0x30
jmp 0x443628
cmp al, 0x61
jl 0x443616
cmp al, 0x66
jg 0x443616
movsx eax, al
sub eax, 0x57
jmp 0x443628
cmp al, 0x41
jl 0x443626
cmp al, 0x46
jg 0x443626
movsx eax, al
sub eax, 0x37
jmp 0x443628
xor eax, eax
cmp cl, 0x30
jl 0x44364c
cmp cl, 0x39
jg 0x44364c
movsx ecx, cl
sub ecx, 0x30
shl al, 4
add al, cl
mov byte [edx + ebp], al
inc ebp
add edi, 2
sub ebx, 2
jmp 0x443872
cmp cl, 0x61
jl 0x443670
cmp cl, 0x66
jg 0x443670
movsx ecx, cl
sub ecx, 0x57
shl al, 4
add al, cl
mov byte [edx + ebp], al
inc ebp
add edi, 2
sub ebx, 2
jmp 0x443872
cmp cl, 0x41
jl 0x443694
cmp cl, 0x46
jg 0x443694
movsx ecx, cl
sub ecx, 0x37
shl al, 4
add al, cl
mov byte [edx + ebp], al
inc ebp
add edi, 2
sub ebx, 2
jmp 0x443872
xor ecx, ecx
shl al, 4
add al, cl
mov byte [edx + ebp], al
inc ebp
add edi, 2
sub ebx, 2
jmp 0x443872
cmp ebx, 5
jb 0x44386d
mov al, byte [edi]
cmp al, 0x75
je 0x4436c1
cmp al, 0x55
jne 0x44386d
mov al, byte [edi + 1]
cmp al, 0x30
jl 0x4436cc
cmp al, 0x39
jle 0x4436e4
cmp al, 0x61
jl 0x4436d4
cmp al, 0x66
jle 0x4436e4
cmp al, 0x41
jl 0x44386d
cmp al, 0x46
jg 0x44386d
mov al, byte [edi + 2]
cmp al, 0x30
jl 0x4436ef
cmp al, 0x39
jle 0x443707
cmp al, 0x61
jl 0x4436f7
cmp al, 0x66
jle 0x443707
cmp al, 0x41
jl 0x44386d
cmp al, 0x46
jg 0x44386d
mov al, byte [edi + 3]
cmp al, 0x30
jl 0x443712
cmp al, 0x39
jle 0x44372a
cmp al, 0x61
jl 0x44371a
cmp al, 0x66
jle 0x44372a
cmp al, 0x41
jl 0x44386d
cmp al, 0x46
jg 0x44386d
mov al, byte [edi + 4]
cmp al, 0x30
jl 0x443735
cmp al, 0x39
jle 0x44374d
cmp al, 0x61
jl 0x44373d
cmp al, 0x66
jle 0x44374d
cmp al, 0x41
jl 0x44386d
cmp al, 0x46
jg 0x44386d
inc edi
dec ebx
test ebp, ebp
je 0x443763
push edx
lea ecx, [esp + 0x14]
mov byte [edx + ebp], 0
call fcn.004296e0
xor ebp, ebp
mov al, byte [edi]
cmp al, 0x30
jl 0x443775
cmp al, 0x39
jg 0x443775
movsx eax, al
sub eax, 0x30
jmp 0x443797
cmp al, 0x61
jl 0x443785
cmp al, 0x66
jg 0x443785
movsx eax, al
sub eax, 0x57
jmp 0x443797
cmp al, 0x41
jl 0x443795
cmp al, 0x46
jg 0x443795
movsx eax, al
sub eax, 0x37
jmp 0x443797
xor eax, eax
mov cl, byte [edi + 1]
cmp cl, 0x30
jl 0x4437ac
cmp cl, 0x39
jg 0x4437ac
movsx esi, cl
sub esi, 0x30
jmp 0x4437d2
cmp cl, 0x61
jl 0x4437be
cmp cl, 0x66
jg 0x4437be
movsx esi, cl
sub esi, 0x57
jmp 0x4437d2
cmp cl, 0x41
jl 0x4437d0
cmp cl, 0x46
jg 0x4437d0
movsx esi, cl
sub esi, 0x37
jmp 0x4437d2
xor esi, esi
mov cl, byte [edi + 2]
cmp cl, 0x30
jl 0x4437e7
cmp cl, 0x39
jg 0x4437e7
movsx edx, cl
sub edx, 0x30
jmp 0x44380d
cmp cl, 0x61
jl 0x4437f9
cmp cl, 0x66
jg 0x4437f9
movsx edx, cl
sub edx, 0x57
jmp 0x44380d
cmp cl, 0x41
jl 0x44380b
cmp cl, 0x46
jg 0x44380b
movsx edx, cl
sub edx, 0x37
jmp 0x44380d
xor edx, edx
mov cl, byte [edi + 3]
cmp cl, 0x30
jl 0x443822
cmp cl, 0x39
jg 0x443822
movsx ecx, cl
sub ecx, 0x30
jmp 0x443848
cmp cl, 0x61
jl 0x443834
cmp cl, 0x66
jg 0x443834
movsx ecx, cl
sub ecx, 0x57
jmp 0x443848
cmp cl, 0x41
jl 0x443846
cmp cl, 0x46
jg 0x443846
movsx ecx, cl
sub ecx, 0x37
jmp 0x443848
xor ecx, ecx
shl eax, 4
add eax, esi
shl eax, 4
add eax, edx
shl eax, 4
add eax, ecx
push eax
lea ecx, [esp + 0x14]
call fcn.004297f0
mov edx, dword [esp + 0x14]
add edi, 4
sub ebx, 4
jmp 0x443872
mov byte [edx + ebp], 0x25
inc ebp
test ebx, ebx
jne 0x443580
test ebp, ebp
je 0x44388b
push edx
lea ecx, [esp + 0x14]
mov byte [edx + ebp], bl
call fcn.004296e0
mov esi, dword [esp + 0x10]
add esi, 0xfffffff0
push esi
call fcn.00404780
mov edi, dword [esp + 0x2c]
add eax, 0x10
mov dword [edi], eax
mov eax, dword [esp + 0x18]
add esp, 4
test eax, eax
mov byte [esp + 0x20], 0
je 0x4438ba
push eax
call fcn.0051fe99
add esp, 4
mov dword [esp + 0x20], 0xffffffff
lea edx, [esi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x4438d9
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov ecx, dword [esp + 0x18]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret