Function at 0x40af00
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x6e0173
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.005c83d0
mov ebx, dword [ebp + 8]
mov ecx, dword [esi + 4]
imul ebx, edi
test ecx, ecx
jne 0x40af6b
xor eax, eax
jmp 0x40af70
mov eax, dword [esi + 8]
sub eax, ecx
cmp eax, ebx
jae 0x40b0d8
test ecx, ecx
jne 0x40af80
xor edx, edx
jmp 0x40af85
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 0x40b048
test ecx, ecx
je 0x40afa5
mov edx, eax
sub edx, ecx
cmp ebx, edx
jb 0x40afa7
mov edx, ebx
test ecx, ecx
jne 0x40afaf
xor eax, eax
jmp 0x40afb1
sub eax, ecx
add eax, edx
test eax, eax
mov dword [esp + 0x2c], eax
jge 0x40afbd
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 eax, dword [esi + 4]
push eax
mov dword [esp + 0x34], 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 0x40b030
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 0x40b106
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 0x40b106
mov ecx, eax
sub ecx, edi
cmp ecx, ebx
jae 0x40b08e
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 0x40b089
mov ecx, dword [esp + 0x30]
inc edi
cmp edi, eax
mov dl, byte [ecx]
mov byte [edi - 1], dl
jne 0x40b07b
add dword [esi + 8], ebx
jmp 0x40b104
test ebx, ebx
jbe 0x40b104
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 0x40b0b5
mov cl, byte [eax - 1]
dec eax
dec ebp
cmp eax, edi
mov byte [ebp], cl
jne 0x40b0a9
lea eax, [ebx + edi]
cmp edi, eax
je 0x40b0ca
mov ebp, dword [esp + 0x30]
mov dl, byte [ebp]
mov byte [edi], dl
inc edi
cmp edi, eax
jne 0x40b0c0
mov eax, dword [esi + 8]
add eax, ebx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
jmp 0x40b106
test ecx, ecx
je 0x40b104
mov edx, dword [esi + 8]
mov eax, edx
sub eax, ecx
cmp ebx, eax
jae 0x40b104
mov eax, edx
lea edi, [ecx + ebx]
cmp eax, edx
je 0x40b0fa
mov cl, byte [eax]
mov byte [edi], cl
inc edi
inc eax
cmp eax, edx
jne 0x40b0f0
mov edx, dword [esi + 8]
mov dword [esi + 8], edi
mov dword [esp + 0x30], edx
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