Function at 0x6d115290
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 0x6d1156d6
mov edx, ebx
shl edx, 0x11
sar edx, 0x11
cmp ebx, edx
jne 0x6d1156d6
mov ecx, edi
shl ecx, 0x11
sar ecx, 0x11
cmp edi, ecx
jne 0x6d1156d6
mov edx, esi
shl edx, 0x11
sar edx, 0x11
cmp esi, edx
jne 0x6d1156d6
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 0x6d11534c
mov edx, 1
jmp 0x6d115357
xor edx, edx
cmp ebx, eax
setle dl
dec edx
and edx, 2
mov eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x24]
jge 0x6d115368
mov eax, 4
jmp 0x6d115377
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 0x6d11538e
mov edx, 1
jmp 0x6d11539b
xor edx, edx
cmp eax, dword [esp + 0x30]
setle dl
dec edx
and edx, 2
cmp edi, dword [esp + 0x24]
jge 0x6d1153a8
mov eax, 4
jmp 0x6d1153b5
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 0x6d1155bd
mov edi, dword [esp + 0x1c]
jmp 0x6d1153d4
mov eax, dword [esp + 0x34]
test eax, ebx
jne 0x6d115669
test eax, eax
je 0x6d1154d7
test al, 3
je 0x6d11542b
test al, 1
mov eax, dword [esp + 0x20]
jne 0x6d1153f4
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
sub eax, dword [esp + 0x48]
jns 0x6d115400
neg eax
imul eax, ecx
cmp byte [esp + 0x13], 0
lea eax, [esi + eax*2]
je 0x6d115415
mov edx, esi
sub edx, ecx
lea eax, [eax + edx - 1]
cdq
lea edi, [esi + esi]
idiv edi
test ebp, ebp
jns 0x6d115421
neg eax
add eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
jmp 0x6d115473
test al, 0xc
je 0x6d115473
test al, 4
mov eax, dword [esp + 0x24]
jne 0x6d11543b
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
sub eax, dword [esp + 0x44]
jns 0x6d115447
neg eax
imul eax, esi
cmp byte [esp + 0x13], 0
lea eax, [ecx + eax*2]
jne 0x6d11545c
mov edx, ecx
sub edx, esi
lea eax, [eax + edx - 1]
cdq
lea edi, [ecx + ecx]
idiv edi
cmp dword [esp + 0x38], 0
jge 0x6d11546b
neg eax
add eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x14], eax
jge 0x6d115484
mov edx, 1
jmp 0x6d115495
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 0x6d1154b3
mov edi, dword [esp + 0x1c]
mov eax, 4
or eax, edx
mov dword [esp + 0x34], eax
jmp 0x6d1155b1
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 0x6d1155b1
test bl, 3
je 0x6d115524
mov eax, dword [esp + 0x20]
test bl, 1
jne 0x6d1154e9
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
sub eax, dword [esp + 0x50]
jns 0x6d1154f5
neg eax
imul eax, ecx
cmp byte [esp + 0x13], 0
lea eax, [esi + eax*2]
je 0x6d11550a
mov edx, esi
sub edx, ecx
add eax, edx
jmp 0x6d11550b
dec eax
cdq
lea edi, [esi + esi]
idiv edi
test ebp, ebp
jle 0x6d115517
neg eax
mov edx, dword [esp + 0x4c]
lea edi, [eax + edx]
mov dword [esp + 0x1c], edi
jmp 0x6d115571
test bl, 0xc
je 0x6d115571
mov edi, dword [esp + 0x24]
test bl, 4
jne 0x6d115536
mov edi, dword [esp + 0x28]
mov eax, edi
sub eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], edi
jns 0x6d115544
neg eax
imul eax, esi
cmp byte [esp + 0x13], 0
lea eax, [ecx + eax*2]
je 0x6d115554
dec eax
jmp 0x6d11555a
mov edx, ecx
sub edx, esi
add eax, edx
cdq
lea ebx, [ecx + ecx]
idiv ebx
cmp dword [esp + 0x38], 0
jle 0x6d115569
neg eax
add eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x2c], eax
jge 0x6d115582
mov edx, 1
jmp 0x6d115593
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 0x6d1155a0
mov eax, 4
jmp 0x6d1155ad
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 0x6d1153d0
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 0x6d115617
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 0x6d115651
xor ebp, ebp
jmp 0x6d115655
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 0x6d115651
xor ebp, ebp
jmp 0x6d115655
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 0x6d115673
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 0x6d115694
sub edx, ebp
jns 0x6d11568e
neg edx
imul edx, ecx
lea eax, [eax + edx*2]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
cmp ecx, edx
je 0x6d1156ac
sub ecx, edx
jns 0x6d1156a6
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.6d114b50
add esp, 0x38
pop edi
pop esi
pop ebx
add esp, 0x30
ret