Function at 0x5b60a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x6cf2ce
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf0
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x30], 0
mov al, byte [esp + 0x37]
push 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x10c], 1
mov byte [esp + 0x18], al
call fcn.004138c0
lea ecx, [esp + 0x58]
mov byte [esp + 0x108], 2
call fcn.0061aaa0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x108], 3
call fcn.005548f0
mov ecx, dword [0x7205fc]
mov edx, dword [0x720600]
mov al, byte [0x720604]
mov dword [esp + 0x4c], ecx
push 6
push 0x7147a4
lea ecx, [esp + 0x18]
mov byte [esp + 0x110], 4
mov dword [esp + 0x58], edx
mov byte [esp + 0x5c], al
call fcn.0061d820
mov ebx, 5
lea ecx, [esp + 0x114]
push ebx
mov byte [esp + 0x10c], bl
call fcn.0061daa0
mov byte [esp + 0x24], al
mov al, byte [edi + 0xc]
cmp al, 0xff
jne 0x5b6226
mov byte [edi + 0xc], 1
mov al, byte [0x72bd0c]
test al, al
je 0x5b61e7
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0
call fcn.0061d7b0
lea esi, [edi + 8]
mov ecx, esi
call fcn.0061dab0
push 0x80
mov ecx, esi
call fcn.0061dc20
push 0xf1
mov ecx, esi
call fcn.0061dc20
push 0x18
mov ecx, esi
call fcn.0061dc20
push 0x60
mov ecx, esi
call fcn.0061dc20
push 0x61
mov ecx, esi
call fcn.0061dc20
push 1
mov ecx, esi
call fcn.0061dc20
mov ebp, 0x5e
mov al, byte [0x7205f0]
mov cl, al
inc al
push ecx
mov ecx, esi
mov byte [0x7205f0], al
call fcn.0061dc20
dec ebp
jne 0x5b61cc
jmp 0x5b6226
sub esp, 0x24
lea edx, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x4c], esp
push 1
push edx
push ecx
lea ecx, [esp + 0xac]
call fcn.00555a50
lea ecx, [esp + 0x7c]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x5c]
mov eax, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.0061afb0
lea ecx, [edi + 8]
call fcn.0061dab0
xor ebp, ebp
lea esi, [edi + 8]
push ebp
mov ecx, esi
call fcn.0061daa0
mov cl, 0x80
cmp cl, al
mov ecx, esi
sbb edi, edi
inc edi
call fcn.0061dc40
cmp ax, 0x14
jge 0x5b6339
push 0x71386c
lea edx, [esp + 0x3c]
push 0x713868
push edx
call fcn.006a6fa5
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00414230
test al, al
je 0x5b62a6
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
lea esi, [esp + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [ecx + ebp], 0
mov esi, dword [esp + 0x110]
mov dl, byte [esp + 0x14]
push 0
mov ecx, esi
mov byte [esi], dl
call fcn.004138c0
mov eax, dword [0x6dd1fc]
lea ecx, [esp + 0x14]
push eax
push 0
push ecx
mov ecx, esi
call fcn.004136c0
mov dword [esp + 0x30], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x108], 4
call fcn.0061d8c0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x108], 3
call fcn.005549b0
lea ecx, [esp + 0x58]
mov byte [esp + 0x108], 2
call fcn.0061ab90
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x10c], 1
call fcn.004138c0
lea ecx, [esp + 0x114]
mov byte [esp + 0x108], 0
call fcn.0061d8c0
mov eax, esi
jmp 0x5b6cac
mov edx, dword [esp + 0x24]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x10
ja case.default.0x5b634f
jmp dword [eax*4 + 0x5b6cc8]
lea eax, [edi + 6]
mov ecx, esi
push eax
call fcn.0061daa0
and eax, 0xff
add edi, 5
mov ecx, eax
push edi
shl ecx, 6
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebp, edx
add ebp, ecx
sar ebp, 7
mov ecx, ebp
shr ecx, 0x1f
add ebp, ecx
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
shl eax, 6
add ebp, eax
mov dword [esp + 0x24], ebp
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push ecx
push edx
lea eax, [esp + 0x40]
push str._.2f
push eax
call fcn.006a6fa5
add esp, 0x10
jmp 0x5b65cc
add edi, 7
mov ecx, esi
push edi
call fcn.0061daa0
and eax, 0xff
jmp 0x5b65b7
lea edx, [edi + 9]
mov ecx, esi
push edx
call fcn.0061daa0
and eax, 0xff
add edi, 8
mov ecx, eax
push edi
shl ecx, 6
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebp, edx
add ebp, ecx
mov ecx, esi
sar ebp, 7
mov eax, ebp
shr eax, 0x1f
add ebp, eax
call fcn.0061daa0
and eax, 0xff
shl eax, 6
add ebp, eax
mov dword [esp + 0x24], ebp
fild dword [esp + 0x24]
jmp 0x5b639f
lea ecx, [edi + 0xb]
push ecx
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
add edi, 0xa
mov ecx, eax
push edi
shl ecx, 6
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebp, edx
add ebp, ecx
mov ecx, esi
sar ebp, 7
mov edx, ebp
shr edx, 0x1f
add ebp, edx
call fcn.0061daa0
and eax, 0xff
shl eax, 6
add ebp, eax
mov dword [esp + 0x24], ebp
fild dword [esp + 0x24]
jmp 0x5b639f
mov ecx, esi
call fcn.0061dc40
cmp ax, 0x19
jge 0x5b64f9
push 0x71386c
lea eax, [esp + 0x3c]
push 0x713868
push eax
call fcn.006a6fa5
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00414230
test al, al
je 0x5b64dd
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [eax + ebp], 0
mov esi, dword [esp + 0x110]
mov cl, byte [esp + 0x14]
xor edi, edi
mov byte [esi], cl
push edi
mov ecx, esi
call fcn.004138c0
jmp 0x5b6a1d
add edi, 0x18
mov ecx, esi
push edi
call fcn.0061daa0
and eax, 0xff
cmp eax, 7
ja case.0x5b650e.6
jmp dword [eax*4 + 0x5b6d0c]
push 0x16
jmp 0x5b652b
push 0x17
jmp 0x5b652b
push 0x18
jmp 0x5b652b
push 0x19
jmp 0x5b652b
push 0x1a
jmp 0x5b652b
push 0x1b
push ebx
lea ecx, [esp + 0x18]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xa4]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x108], 6
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.004136c0
mov eax, dword [esp + 0xa4]
mov byte [esp + 0x108], bl
test eax, eax
je case.default.0x5b634f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5b6955
cmp al, 0xff
je 0x5b6955
dec al
mov byte [ecx], al
jmp case.default.0x5b634f
add edi, 0xc
jmp 0x5b65a7
add edi, 0xd
push edi
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x28
mov ebp, eax
push ebp
lea ecx, [esp + 0x3c]
push 0x713498
push ecx
call fcn.006a6fa5
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5b6b5a
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
cmp ebp, 0xfffffffd
jbe 0x5b65f2
call fcn.006a64db
mov edi, dword [esp + 0x18]
test edi, edi
je 0x5b6b03
mov al, byte [edi - 1]
test al, al
je 0x5b6b03
cmp al, 0xff
je 0x5b6b03
test ebp, ebp
jne 0x5b6b2c
dec al
push ebp
lea ecx, [esp + 0x18]
mov byte [edi - 1], al
call fcn.004138c0
jmp 0x5b6b5a
add edi, 0xf
mov ecx, esi
push edi
call fcn.0061daa0
and eax, 0xff
mov ecx, eax
shl eax, 5
add eax, ecx
lea ecx, [eax + eax*2]
jmp 0x5b6ad1
add edi, 0x12
mov ecx, esi
push edi
call fcn.0061daa0
test al, 1
je 0x5b665f
push 3
jmp 0x5b6661
push 4
push ebx
lea ecx, [esp + 0x18]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xb4]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x108], 7
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.004136c0
mov eax, dword [esp + 0xb4]
mov byte [esp + 0x108], bl
jmp 0x5b657f
add edi, 0x13
mov ecx, esi
push edi
call fcn.0061daa0
test al, 1
je 0x5b66cd
push 3
jmp 0x5b66cf
push 4
push ebx
lea ecx, [esp + 0x18]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xd4]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x108], 8
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.004136c0
mov eax, dword [esp + 0xd4]
mov byte [esp + 0x108], bl
jmp 0x5b657f
add edi, 0x12
mov ecx, esi
push edi
call fcn.0061daa0
test al, 2
je 0x5b673b
push 3
jmp 0x5b673d
push 4
push ebx
lea ecx, [esp + 0x18]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xf4]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x108], 9
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.004136c0
mov eax, dword [esp + 0xf4]
mov byte [esp + 0x108], bl
jmp 0x5b657f
add edi, 0x13
mov ecx, esi
push edi
call fcn.0061daa0
test al, 2
je 0x5b67a9
push 3
jmp 0x5b67ab
push 4
push ebx
lea ecx, [esp + 0x18]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xc4]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x108], 0xa
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.004136c0
mov eax, dword [esp + 0xc4]
mov byte [esp + 0x108], bl
jmp 0x5b657f
mov ecx, esi
call fcn.0061dc40
cmp ax, 0x1a
jge 0x5b6899
push 0x71386c
lea edx, [esp + 0x3c]
push 0x713868
push edx
call fcn.006a6fa5
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00414230
test al, al
je 0x5b6870
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
lea esi, [esp + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [ecx + ebp], 0
mov esi, dword [esp + 0x110]
mov dl, byte [esp + 0x14]
xor edi, edi
lea ecx, [esp + 0x14]
mov byte [esi], dl
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov eax, dword [0x6dd1fc]
push eax
push edi
push ecx
jmp 0x5b6a2a
add edi, 0x19
mov ecx, esi
push edi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6e0960]
jmp 0x5b639f
mov ecx, esi
call fcn.0061dc40
cmp ax, 0x1c
jl 0x5b6815
add edi, 0x1b
mov ecx, esi
push edi
call fcn.0061daa0
test al, 1
je 0x5b68e0
push 0x6b
jmp 0x5b68e2
push 0x6c
push ebx
lea ecx, [esp + 0x18]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xe4]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x108], 0xb
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.004136c0
mov eax, dword [esp + 0xe4]
mov byte [esp + 0x108], bl
test eax, eax
je case.default.0x5b634f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5b6955
cmp al, 0xff
je 0x5b6955
dec al
mov byte [ecx], al
jmp case.default.0x5b634f
push ecx
call fcn.006a64d0
add esp, 4
jmp case.default.0x5b634f
add edi, 0xe
mov ecx, esi
push edi
call fcn.0061daa0
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x5b639f
mov ecx, esi
call fcn.0061dc40
cmp ax, 0x20
jge 0x5b6ab8
push 0x71386c
lea ecx, [esp + 0x3c]
push 0x713868
push ecx
call fcn.006a6fa5
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00414230
test al, al
je 0x5b6a05
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [eax + ebp], 0
mov esi, dword [esp + 0x110]
mov cl, byte [esp + 0x14]
xor edi, edi
mov byte [esi], cl
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov edx, dword [0x6dd1fc]
lea eax, [esp + 0x14]
push edx
push edi
push eax
mov ecx, esi
call fcn.004136c0
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], 1
mov byte [esp + 0x108], 4
call fcn.0061d8c0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x108], 3
call fcn.005549b0
lea ecx, [esp + 0x58]
mov byte [esp + 0x108], 2
call fcn.0061ab90
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x5b6a91
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5b6a88
cmp al, 0xff
je 0x5b6a88
dec al
mov byte [ecx], al
jmp 0x5b6a91
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x114]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov byte [esp + 0x108], 0
call fcn.0061d8c0
mov eax, esi
jmp 0x5b6cac
add edi, 0x1f
mov ecx, esi
push edi
call fcn.0061daa0
and eax, 0xff
lea ecx, [eax + eax*2]
lea ecx, [eax + ecx*8]
shl ecx, 2
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
jmp case.default.0x5b634f
add edi, 0x11
mov ecx, esi
push edi
call fcn.0061daa0
and eax, 0xff
lea ebp, [eax + eax*4]
jmp case.default.0x5b634f
test ebp, ebp
jne 0x5b6b14
push 1
lea ecx, [esp + 0x18]
call fcn.004138c0
jmp 0x5b6b5a
mov eax, dword [esp + 0x20]
cmp eax, 0x1f
ja 0x5b6b21
cmp eax, ebp
jae 0x5b6b3a
push 1
lea ecx, [esp + 0x18]
call fcn.004138c0
push ebp
lea ecx, [esp + 0x18]
call fcn.00414a60
mov edi, dword [esp + 0x18]
mov ecx, ebp
lea esi, [esp + 0x38]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [eax + ebp], 0
mov ebp, dword [esp + 0x110]
mov cl, byte [esp + 0x14]
xor edi, edi
mov byte [ebp], cl
mov ecx, dword [esp + 0x1c]
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov eax, dword [0x6dd1fc]
mov ebx, ecx
cmp eax, ebx
jae 0x5b6b84
mov ebx, eax
lea edx, [esp + 0x14]
cmp ebp, edx
jne 0x5b6ba3
push eax
push ebx
mov ecx, ebp
call fcn.004140f0
push edi
push edi
mov ecx, ebp
call fcn.004140f0
jmp 0x5b6c2a
cmp ebx, edi
jbe 0x5b6bef
cmp ebx, ecx
jne 0x5b6bef
mov eax, dword [esp + 0x18]
cmp eax, edi
jne 0x5b6bb8
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5b6bef
push 1
mov ecx, ebp
call fcn.004138c0
mov eax, dword [esp + 0x18]
cmp eax, edi
jne 0x5b6bd4
mov eax, 0x6dd1f8
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [ebp + 4], eax
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5b6c2a
push 1
push ebx
mov ecx, ebp
call fcn.00414230
test al, al
je 0x5b6c2a
mov esi, dword [esp + 0x18]
cmp esi, edi
jne 0x5b6c0a
mov esi, 0x6dd1f8
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add eax, ebx
xor edi, edi
mov byte [eax], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], 1
mov byte [esp + 0x108], 4
call fcn.0061d8c0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x108], 3
call fcn.005549b0
lea ecx, [esp + 0x58]
mov byte [esp + 0x108], 2
call fcn.0061ab90
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x5b6c8a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5b6c81
cmp al, 0xff
je 0x5b6c81
dec al
mov byte [ecx], al
jmp 0x5b6c8a
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x114]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov byte [esp + 0x108], 0
call fcn.0061d8c0
mov eax, ebp
mov ecx, dword [esp + 0x100]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xfc
ret 8