Function at 0x434060
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x47056f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov al, byte [esp + 0x28]
push ebx
push esi
push edi
push 0
lea ecx, [esp + 0x14]
mov dword [esp + 0x10], 0
mov byte [esp + 0x14], al
call fcn.00403160
mov ebx, dword [esp + 0x34]
mov edi, 1
cmp ebx, 0x7f
mov dword [esp + 0x28], edi
ja 0x4340f7
mov eax, dword [esp + 0x18]
cmp eax, edi
jb 0x4340c3
mov ecx, dword [0x473a88]
push ecx
push edi
lea ecx, [esp + 0x18]
call fcn.004031b0
jmp 0x4340d3
mov edx, edi
push 0
sub edx, eax
lea ecx, [esp + 0x14]
push edx
call fcn.00435a10
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4340ed
lea ecx, [esp + 0x10]
call fcn.00408a00
mov eax, dword [esp + 0x14]
jmp 0x434367
mov eax, 0x473a84
jmp 0x434367
cmp ebx, 0x7ff
ja 0x434197
mov eax, dword [esp + 0x18]
cmp eax, 2
jb 0x43411f
mov eax, dword [0x473a88]
lea ecx, [esp + 0x10]
push eax
push 2
call fcn.004031b0
jmp 0x434132
mov ecx, 2
push 0
sub ecx, eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00435a10
cmp dword [esp + 0x18], edi
jb 0x434152
mov eax, dword [esp + 0x14]
test eax, eax
je 0x434152
lea ecx, [esp + 0x10]
call fcn.00408a00
mov edx, dword [esp + 0x14]
lea eax, [edx + 1]
jmp 0x434157
mov eax, 0x473a84
mov cl, bl
and cl, 0x3f
or cl, 0x80
mov byte [eax], cl
mov eax, dword [esp + 0x14]
test eax, eax
je 0x434184
lea ecx, [esp + 0x10]
call fcn.00408a00
mov eax, dword [esp + 0x14]
shr ebx, 6
and bl, 0x1f
or bl, 0xc0
jmp 0x434367
shr ebx, 6
and bl, 0x1f
mov eax, 0x473a84
or bl, 0xc0
jmp 0x434367
cmp ebx, 0xffff
ja 0x43426d
mov eax, dword [esp + 0x18]
cmp eax, 3
jb 0x4341c0
mov edx, dword [0x473a88]
lea ecx, [esp + 0x10]
push edx
push 3
call fcn.004031b0
jmp 0x4341d3
mov ecx, 3
push 0
sub ecx, eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00435a10
cmp dword [esp + 0x18], 2
jb 0x4341f4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4341f4
lea ecx, [esp + 0x10]
call fcn.00408a00
mov edx, dword [esp + 0x14]
lea eax, [edx + 2]
jmp 0x4341f9
mov eax, 0x473a84
mov cl, bl
and cl, 0x3f
or cl, 0x80
mov byte [eax], cl
mov eax, dword [esp + 0x18]
cmp eax, edi
jb 0x434225
mov eax, dword [esp + 0x14]
test eax, eax
je 0x434225
lea ecx, [esp + 0x10]
call fcn.00408a00
mov edx, dword [esp + 0x14]
lea eax, [edx + 1]
jmp 0x43422a
mov eax, 0x473a84
mov ecx, ebx
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [eax], cl
mov eax, dword [esp + 0x14]
test eax, eax
je 0x43425a
lea ecx, [esp + 0x10]
call fcn.00408a00
mov eax, dword [esp + 0x14]
shr ebx, 0xc
and bl, 0xf
or bl, 0xe0
jmp 0x434367
shr ebx, 0xc
and bl, 0xf
mov eax, 0x473a84
or bl, 0xe0
jmp 0x434367
cmp ebx, 0x10ffff
ja 0x434369
mov eax, dword [esp + 0x18]
cmp eax, 4
jb 0x434296
mov edx, dword [0x473a88]
lea ecx, [esp + 0x10]
push edx
push 4
call fcn.004031b0
jmp 0x4342a9
mov ecx, 4
push 0
sub ecx, eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00435a10
cmp dword [esp + 0x18], 3
jb 0x4342ca
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4342ca
lea ecx, [esp + 0x10]
call fcn.00408a00
mov edx, dword [esp + 0x14]
lea eax, [edx + 3]
jmp 0x4342cf
mov eax, 0x473a84
mov cl, bl
and cl, 0x3f
or cl, 0x80
mov byte [eax], cl
mov eax, dword [esp + 0x18]
cmp eax, 2
jb 0x4342fc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4342fc
lea ecx, [esp + 0x10]
call fcn.00408a00
mov edx, dword [esp + 0x14]
lea eax, [edx + 2]
jmp 0x434301
mov eax, 0x473a84
mov ecx, ebx
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [eax], cl
mov eax, dword [esp + 0x18]
cmp eax, edi
jb 0x434330
mov eax, dword [esp + 0x14]
test eax, eax
je 0x434330
lea ecx, [esp + 0x10]
call fcn.00408a00
mov edx, dword [esp + 0x14]
lea eax, [edx + 1]
jmp 0x434335
mov eax, 0x473a84
mov ecx, ebx
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [eax], cl
mov eax, dword [esp + 0x14]
test eax, eax
je 0x434359
lea ecx, [esp + 0x10]
call fcn.00408a00
mov eax, dword [esp + 0x14]
jmp 0x43435e
mov eax, 0x473a84
shr ebx, 0x12
and bl, 7
or bl, 0xf0
mov byte [eax], bl
mov esi, dword [esp + 0x30]
lea edx, [esp + 0x10]
push edx
mov ecx, esi
call fcn.00402df0
mov dword [esp + 0xc], edi
push edi
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], 0
call fcn.00403160
mov ecx, dword [esp + 0x20]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret