Function at 0x5539a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x7013a3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov dword [esp + 0x10], ebp
call fcn.005c80f0
mov cl, byte [esp + 0x30]
lea esi, [ebp + 0x1c]
xor eax, eax
mov dword [esp + 0x1c], eax
mov byte [esi], cl
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
push edx
push eax
mov ecx, ebp
mov byte [esp + 0x24], 1
mov dword [ebp + 0x18], edi
call fcn.005c8390
mov ebx, dword [ebp + 8]
mov ecx, dword [esi + 4]
imul ebx, edi
test ecx, ecx
jne 0x553a0b
xor eax, eax
jmp 0x553a10
mov eax, dword [esi + 8]
sub eax, ecx
cmp eax, ebx
jae 0x553b83
test ecx, ecx
jne 0x553a20
xor edx, edx
jmp 0x553a25
mov edx, dword [esi + 8]
sub edx, ecx
mov eax, dword [esi + 8]
sub ebx, edx
mov edx, dword [esi + 0xc]
mov edi, eax
sub edx, eax
cmp edx, ebx
jae 0x553af3
test ecx, ecx
je 0x553a45
mov edx, eax
sub edx, ecx
cmp ebx, edx
jb 0x553a47
mov edx, ebx
test ecx, ecx
jne 0x553a4f
xor eax, eax
jmp 0x553a51
sub eax, ecx
add eax, edx
test eax, eax
mov dword [esp + 0x2c], eax
jge 0x553a5d
xor eax, eax
push eax
call fcn.00652710
add esp, 4
mov ebp, eax
mov eax, dword [esi + 4]
mov ecx, esi
push ebp
push edi
push eax
call fcn.0040bce0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], eax
push ecx
push ebx
push eax
mov ecx, esi
call fcn.004d9a90
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 8]
add edx, ebx
mov ecx, esi
push edx
push eax
push edi
call fcn.0040bce0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
mov ecx, esi
call fcn.004d1a20
mov eax, dword [esi + 4]
push eax
call fcn.00652870
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 4]
add esp, 4
lea edx, [ecx + ebp]
test eax, eax
mov dword [esi + 0xc], edx
jne 0x553adb
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov ecx, ebp
mov dword [esi + 4], ebp
add ecx, ebx
mov dword [esi + 8], ecx
jmp 0x553bb6
mov ecx, dword [esi + 8]
mov dword [esi + 4], ebp
sub ecx, eax
mov eax, dword [esp + 0x10]
add ecx, ebp
add ecx, ebx
mov dword [esi + 8], ecx
jmp 0x553bb6
mov ecx, eax
sub ecx, edi
cmp ecx, ebx
jae 0x553b39
lea edx, [ebx + edi]
mov ecx, esi
push edx
push eax
push edi
call fcn.0040bce0
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x30]
mov edx, ebx
push ecx
sub edx, eax
mov ecx, esi
add edx, edi
push edx
push eax
call fcn.004d9a90
mov eax, dword [esi + 8]
cmp edi, eax
je 0x553b34
mov ecx, dword [esp + 0x30]
inc edi
cmp edi, eax
mov dl, byte [ecx]
mov byte [edi - 1], dl
jne 0x553b26
add dword [esi + 8], ebx
jmp 0x553bb4
test ebx, ebx
jbe 0x553bb4
push eax
push eax
sub eax, ebx
mov ecx, esi
push eax
call fcn.0040bce0
mov ebp, dword [esi + 8]
mov eax, ebp
sub eax, ebx
cmp edi, eax
je 0x553b60
mov cl, byte [eax - 1]
dec eax
dec ebp
cmp eax, edi
mov byte [ebp], cl
jne 0x553b54
lea eax, [ebx + edi]
cmp edi, eax
je 0x553b75
mov ebp, dword [esp + 0x30]
mov dl, byte [ebp]
mov byte [edi], dl
inc edi
cmp edi, eax
jne 0x553b6b
mov eax, dword [esi + 8]
add eax, ebx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
jmp 0x553bb6
test ecx, ecx
je 0x553bb4
mov edx, dword [esi + 8]
mov eax, edx
sub eax, ecx
cmp ebx, eax
jae 0x553bb4
mov eax, edx
lea edi, [ecx + ebx]
cmp eax, edx
je 0x553ba5
mov cl, byte [eax]
mov byte [edi], cl
inc edi
inc eax
cmp eax, edx
jne 0x553b9b
mov edx, dword [esi + 8]
mov ecx, esi
push edx
push edi
call fcn.004d1a20
mov dword [esi + 8], edi
mov eax, ebp
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 0x10