Function at 0x6d005290
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x30
push ebx
mov ebx, dword [esp + 0x3c]
mov ecx, eax
shl ecx, 0x11
push esi
mov esi, dword [esp + 0x48]
sar ecx, 0x11
push edi
mov edi, dword [esp + 0x48]
cmp eax, ecx
jne 0x6d0056d6
mov edx, ebx
shl edx, 0x11
sar edx, 0x11
cmp ebx, edx
jne 0x6d0056d6
mov ecx, edi
shl ecx, 0x11
sar ecx, 0x11
cmp edi, ecx
jne 0x6d0056d6
mov edx, esi
shl edx, 0x11
sar edx, 0x11
cmp esi, edx
jne 0x6d0056d6
mov dword [esp + 0x14], eax
push ebp
mov ebp, edi
sub ebp, eax
mov eax, ebp
cdq
mov ecx, eax
xor ecx, edx
mov dword [esp + 0x2c], esi
sub esi, ebx
sub ecx, edx
mov eax, esi
cdq
mov dword [esp + 0x38], esi
mov esi, eax
mov eax, dword [esp + 0x58]
xor esi, edx
sub esi, edx
mov edx, dword [eax]
mov dword [esp + 0x24], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
dec edx
dec eax
cmp ecx, esi
setge byte [esp + 0x13]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], eax
cmp ebx, dword [esp + 0x20]
jge 0x6d00534c
mov edx, 1
jmp 0x6d005357
xor edx, edx
cmp ebx, eax
setle dl
dec edx
and edx, 2
mov eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x24]
jge 0x6d005368
mov eax, 4
jmp 0x6d005377
xor ebx, ebx
cmp eax, dword [esp + 0x28]
setle bl
lea eax, [ebx - 1]
and eax, 8
or eax, edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x20]
jge 0x6d00538e
mov edx, 1
jmp 0x6d00539b
xor edx, edx
cmp eax, dword [esp + 0x30]
setle dl
dec edx
and edx, 2
cmp edi, dword [esp + 0x24]
jge 0x6d0053a8
mov eax, 4
jmp 0x6d0053b5
xor eax, eax
cmp edi, dword [esp + 0x28]
setle al
dec eax
and eax, 8
or eax, edx
mov ebx, eax
mov eax, dword [esp + 0x34]
mov edx, ebx
or edx, eax
je 0x6d0055bd
mov edi, dword [esp + 0x1c]
jmp 0x6d0053d4
mov eax, dword [esp + 0x34]
test eax, ebx
jne 0x6d005669
test eax, eax
je 0x6d0054d7
test al, 3
je 0x6d00542b
test al, 1
mov eax, dword [esp + 0x20]
jne 0x6d0053f4
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
sub eax, dword [esp + 0x48]
jns 0x6d005400
neg eax
imul eax, ecx
cmp byte [esp + 0x13], 0
lea eax, [esi + eax*2]
je 0x6d005415
mov edx, esi
sub edx, ecx
lea eax, [eax + edx - 1]
cdq
lea edi, [esi + esi]
idiv edi
test ebp, ebp
jns 0x6d005421
neg eax
add eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
jmp 0x6d005473
test al, 0xc
je 0x6d005473
test al, 4
mov eax, dword [esp + 0x24]
jne 0x6d00543b
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
sub eax, dword [esp + 0x44]
jns 0x6d005447
neg eax
imul eax, esi
cmp byte [esp + 0x13], 0
lea eax, [ecx + eax*2]
jne 0x6d00545c
mov edx, ecx
sub edx, esi
lea eax, [eax + edx - 1]
cdq
lea edi, [ecx + ecx]
idiv edi
cmp dword [esp + 0x38], 0
jge 0x6d00546b
neg eax
add eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x14], eax
jge 0x6d005484
mov edx, 1
jmp 0x6d005495
mov eax, dword [esp + 0x30]
xor edx, edx
cmp dword [esp + 0x14], eax
setle dl
dec edx
and edx, 2
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x18], eax
jge 0x6d0054b3
mov edi, dword [esp + 0x1c]
mov eax, 4
or eax, edx
mov dword [esp + 0x34], eax
jmp 0x6d0055b1
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x3c]
xor eax, eax
cmp dword [esp + 0x18], edi
mov edi, dword [esp + 0x1c]
setle al
dec eax
and eax, 8
or eax, edx
mov dword [esp + 0x34], eax
jmp 0x6d0055b1
test bl, 3
je 0x6d005524
mov eax, dword [esp + 0x20]
test bl, 1
jne 0x6d0054e9
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
sub eax, dword [esp + 0x50]
jns 0x6d0054f5
neg eax
imul eax, ecx
cmp byte [esp + 0x13], 0
lea eax, [esi + eax*2]
je 0x6d00550a
mov edx, esi
sub edx, ecx
add eax, edx
jmp 0x6d00550b
dec eax
cdq
lea edi, [esi + esi]
idiv edi
test ebp, ebp
jle 0x6d005517
neg eax
mov edx, dword [esp + 0x4c]
lea edi, [eax + edx]
mov dword [esp + 0x1c], edi
jmp 0x6d005571
test bl, 0xc
je 0x6d005571
mov edi, dword [esp + 0x24]
test bl, 4
jne 0x6d005536
mov edi, dword [esp + 0x28]
mov eax, edi
sub eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], edi
jns 0x6d005544
neg eax
imul eax, esi
cmp byte [esp + 0x13], 0
lea eax, [ecx + eax*2]
je 0x6d005554
dec eax
jmp 0x6d00555a
mov edx, ecx
sub edx, esi
add eax, edx
cdq
lea ebx, [ecx + ecx]
idiv ebx
cmp dword [esp + 0x38], 0
jle 0x6d005569
neg eax
add eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x2c], eax
jge 0x6d005582
mov edx, 1
jmp 0x6d005593
mov eax, dword [esp + 0x30]
xor edx, edx
cmp dword [esp + 0x2c], eax
setle dl
dec edx
and edx, 2
cmp edi, dword [esp + 0x24]
jge 0x6d0055a0
mov eax, 4
jmp 0x6d0055ad
xor eax, eax
cmp edi, dword [esp + 0x28]
setle al
dec eax
and eax, 8
or eax, edx
mov ebx, eax
mov edx, ebx
or edx, dword [esp + 0x34]
jne 0x6d0053d0
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x18]
mov dword [eax], edx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov dword [eax], edx
mov edx, dword [esp + 0x70]
xor eax, eax
cmp byte [esp + 0x13], al
je 0x6d005617
test ebp, ebp
sets al
lea edi, [ecx + ecx]
lea ebx, [esi + esi]
inc eax
mov dword [edx], eax
mov edx, dword [esp + 0x78]
xor eax, eax
cmp dword [esp + 0x38], eax
setl al
neg ecx
lea eax, [eax*4 + 4]
mov dword [edx], eax
mov edx, dword [esp + 0x1c]
mov eax, edx
sub eax, dword [esp + 0x18]
cmp edx, dword [esp + 0x4c]
je 0x6d005651
xor ebp, ebp
jmp 0x6d005655
cmp dword [esp + 0x38], eax
lea edi, [esi + esi]
setl al
lea ebx, [ecx + ecx]
lea eax, [eax*4 + 4]
mov dword [edx], eax
mov edx, dword [esp + 0x78]
xor eax, eax
test ebp, ebp
sets al
neg esi
inc eax
mov dword [edx], eax
mov edx, dword [esp + 0x2c]
mov eax, edx
sub eax, dword [esp + 0x14]
cmp edx, dword [esp + 0x50]
je 0x6d005651
xor ebp, ebp
jmp 0x6d005655
mov ebp, dword [esp + 0x54]
cdq
xor eax, edx
sub eax, edx
mov edx, 1
sub edx, ebp
add eax, edx
mov dword [esp + 0x3c], eax
jne 0x6d005673
pop ebp
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x30
ret
mov ebp, dword [esp + 0x48]
mov eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x14]
sar eax, 1
neg eax
cmp edx, ebp
je 0x6d005694
sub edx, ebp
jns 0x6d00568e
neg edx
imul edx, ecx
lea eax, [eax + edx*2]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
cmp ecx, edx
je 0x6d0056ac
sub ecx, edx
jns 0x6d0056a6
neg ecx
imul ecx, esi
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x3c]
mov dword [ecx], edx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
add eax, ebx
mov dword [ecx], eax
mov eax, dword [esp + 0x74]
sub edi, ebx
pop ebp
mov dword [edx], ebx
mov dword [eax], edi
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x30
ret
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
push ecx
push edx
push esi
push edi
push ebx
push eax
call fcn.6d004b50
add esp, 0x38
pop edi
pop esi
pop ebx
add esp, 0x30
ret