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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x1c
mov eax, dword [ecx + 0xa0]
test eax, eax
jle 0x61b0e7f4
mov ecx, dword [ecx + 0x34]
cmp ecx, dword [esp + 0x34]
jne 0x61b0e7f4
cmp eax, 1
mov edi, dword [ebx + 0x38]
je 0x61b0e870
mov edx, dword [ebx + 0x44]
cmp edx, ecx
jne 0x61b0e870
add edi, dword [ebx + 0x48]
cmp eax, 2
je 0x61b0e880
cmp edx, dword [ebx + 0x54]
jne 0x61b0e880
add edi, dword [ebx + 0x58]
cmp eax, 3
je 0x61b0e831
cmp edx, dword [ebx + 0x64]
jne 0x61b0e831
add edi, dword [ebx + 0x68]
cmp eax, 4
je 0x61b0e840
cmp edx, dword [ebx + 0x74]
jne 0x61b0e840
add edi, dword [ebx + 0x78]
cmp eax, 5
je 0x61b0e850
cmp edx, dword [ebx + 0x84]
jne 0x61b0e850
add edi, dword [ebx + 0x88]
cmp eax, 6
je 0x61b0e860
cmp edx, dword [ebx + 0x94]
jne 0x61b0e860
add edi, dword [ebx + 0x98]
mov edx, 7
lea eax, [ecx + 1]
mov dword [esp + 8], eax
lea eax, [ebx + ecx*4]
mov esi, dword [eax + 0x1c]
lea ecx, [esi + 1]
sub ecx, dword [eax + 8]
xor eax, eax
mov esi, ecx
imul esi, edi
cmp esi, dword [esp + 0x30]
jl 0x61b0e765
mov eax, dword [ebx + 0x30]
cmp edx, 1
mov esi, dword [ebx + 0x2c]
mov ebp, eax
mov dword [esp], eax
je 0x61b0e222
mov eax, dword [ebx + 0x3c]
cmp esi, eax
cmova esi, eax
mov eax, dword [ebx + 0x40]
cmp ebp, eax
cmovae eax, ebp
cmp edx, 2
mov ebp, eax
mov dword [esp], eax
je 0x61b0e222
mov eax, dword [ebx + 0x4c]
cmp esi, eax
cmova esi, eax
mov eax, dword [ebx + 0x50]
cmp ebp, eax
cmovae eax, ebp
cmp edx, 3
mov ebp, eax
mov dword [esp], eax
je 0x61b0e222
mov eax, dword [ebx + 0x5c]
cmp esi, eax
cmova esi, eax
mov eax, dword [ebx + 0x60]
cmp ebp, eax
cmovae eax, ebp
cmp edx, 4
mov ebp, eax
mov dword [esp], eax
je 0x61b0e222
mov eax, dword [ebx + 0x6c]
cmp esi, eax
cmova esi, eax
mov eax, dword [ebx + 0x70]
cmp ebp, eax
cmovae eax, ebp
cmp edx, 5
mov ebp, eax
mov dword [esp], eax
je 0x61b0e222
mov eax, dword [ebx + 0x7c]
cmp esi, eax
cmova esi, eax
mov eax, dword [ebx + 0x80]
cmp ebp, eax
cmovae eax, ebp
cmp edx, 7
mov ebp, eax
mov dword [esp], eax
jne 0x61b0e222
mov eax, dword [ebx + 0x8c]
cmp esi, eax
cmova esi, eax
mov eax, dword [ebx + 0x90]
cmp ebp, eax
cmovae eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x30]
lea ebp, [ecx - 1]
sub eax, edi
cdq
idiv ebp
mov edx, edi
sub edx, eax
test eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 4], edx
jne 0x61b0e770
sub dword [esp + 4], 1
add eax, 1
mov dword [ebx + 0x2c], esi
mov ebp, dword [esp + 4]
mov dword [esp + 0xc], eax
test ebp, ebp
je 0x61b0e78e
mov eax, 4
sub eax, dword [esp + 0x34]
mov edi, esi
shl eax, 3
mov ecx, eax
mov dword [esp + 0x14], eax
shr edi, cl
mov eax, edi
mov edi, dword [esp + 4]
movzx eax, al
lea eax, [edi + eax - 1]
mov edi, dword [esp + 0x34]
mov edi, dword [ebx + edi*4 + 0x18]
cmp edi, eax
mov dword [esp + 0x10], edi
jae 0x61b0e8a0
mov ecx, edi
mov edi, dword [esp + 0x34]
mov ebp, 0
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x34]
lea edi, [ebx + edi*4]
shl ecx, 3
sub edx, dword [edi + 4]
sub eax, dword [edi + 4]
mov dword [esp + 0x18], edx
mov edx, 0xffffffff
shr edx, cl
cmp ecx, 0x1f
cmovg edx, ebp
mov bp, 0x20
sub ebp, ecx
mov ecx, ebp
mov ebp, 0xffffff00
shl ebp, cl
or edx, ebp
and esi, edx
cdq
idiv dword [esp + 0x18]
add edx, dword [edi + 4]
shl edx, cl
mov ecx, dword [esp + 0x34]
or esi, edx
mov edx, esi
lea ebp, [ecx - 1]
mov ecx, 5
sub ecx, dword [esp + 0x34]
shl ecx, 3
shr edx, cl
movzx edx, dl
add eax, edx
mov edx, dword [edi + 0x14]
cmp edx, eax
jae 0x61b0e4b2
lea edi, [ebx + ebp*4]
add edx, 1
lea ecx, [ebp*8]
mov ebp, 0
sub edx, dword [edi + 4]
sub eax, dword [edi + 4]
mov dword [esp + 0x18], edx
mov edx, 0xffffffff
shr edx, cl
cmp ecx, 0x1f
cmovg edx, ebp
mov bp, 0x20
sub ebp, ecx
mov ecx, ebp
mov ebp, 0xffffff00
shl ebp, cl
or edx, ebp
and esi, edx
cdq
idiv dword [esp + 0x18]
add edx, dword [edi + 4]
shl edx, cl
mov ecx, dword [esp + 0x34]
or esi, edx
mov edx, esi
lea ebp, [ecx - 2]
mov ecx, 6
sub ecx, dword [esp + 0x34]
shl ecx, 3
shr edx, cl
movzx edx, dl
add eax, edx
mov edx, dword [edi + 0x14]
cmp edx, eax
jae 0x61b0e4b2
lea edi, [ebx + ebp*4]
add edx, 1
lea ecx, [ebp*8]
mov ebp, 0
sub edx, dword [edi + 4]
sub eax, dword [edi + 4]
mov dword [esp + 0x18], edx
mov edx, 0xffffffff
shr edx, cl
cmp ecx, 0x1f
cmovg edx, ebp
mov bp, 0x20
sub ebp, ecx
mov ecx, ebp
mov ebp, 0xffffff00
shl ebp, cl
or edx, ebp
and esi, edx
cdq
idiv dword [esp + 0x18]
add edx, dword [edi + 4]
shl edx, cl
mov ecx, dword [esp + 0x34]
or esi, edx
mov edx, esi
lea ebp, [ecx - 3]
mov ecx, 7
sub ecx, dword [esp + 0x34]
shl ecx, 3
shr edx, cl
movzx edx, dl
add eax, edx
mov edx, dword [edi + 0x14]
cmp eax, edx
jbe 0x61b0e4b2
lea edi, [ebx + ebp*4]
add edx, 1
lea ecx, [ebp*8]
mov ebp, 0
sub edx, dword [edi + 4]
sub eax, dword [edi + 4]
mov dword [esp + 0x18], edx
mov edx, 0xffffffff
shr edx, cl
cmp ecx, 0x1f
cmovg edx, ebp
mov bp, 0x20
sub ebp, ecx
mov ecx, ebp
mov ebp, 0xffffff00
shl ebp, cl
or edx, ebp
and esi, edx
cdq
idiv dword [esp + 0x18]
add edx, dword [edi + 4]
shl edx, cl
mov ecx, dword [esp + 0x34]
or esi, edx
mov edx, esi
lea ebp, [ecx - 4]
mov ecx, 8
sub ecx, dword [esp + 0x34]
shl ecx, 3
shr edx, cl
movzx edx, dl
add eax, edx
mov edx, dword [edi + 0x14]
cmp eax, edx
jbe 0x61b0e4b2
mov edi, dword [ebx + ebp*4 + 4]
add edx, 1
lea ecx, [ebp*8]
mov ebp, 0
sub edx, edi
sub eax, edi
mov dword [esp + 0x18], edx
mov edx, 0xffffffff
shr edx, cl
cmp ecx, 0x1f
cmovg edx, ebp
mov bp, 0x20
sub ebp, ecx
mov ecx, ebp
mov ebp, 0xffffff00
shl ebp, cl
or edx, ebp
and esi, edx
cdq
idiv dword [esp + 0x18]
add edx, edi
mov edi, dword [esp + 0x34]
shl edx, cl
mov ecx, 9
or esi, edx
sub ecx, edi
mov edx, esi
lea ebp, [edi - 5]
shl ecx, 3
shr edx, cl
movzx edx, dl
add eax, edx
lea ecx, [ebp*8]
xor edi, edi
cmp ecx, 0x1f
jg 0x61b0e4c7
mov edi, 0xffffffff
shr edi, cl
mov edx, 0x20
sub edx, ecx
mov ecx, edx
mov edx, 0xffffff00
shl edx, cl
shl eax, cl
movzx ecx, byte [esp + 0x14]
or edx, edi
and esi, edx
or esi, eax
mov eax, dword [esp + 4]
mov ebp, esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x38], eax
mov eax, esi
shr eax, cl
movzx eax, al
cmp dword [esp + 0x10], eax
ja 0x61b0e890
mov eax, dword [esp + 0x34]
mov esi, 0
lea ecx, [eax*8]
lea edi, [ebx + eax*4]
mov eax, 0xffffffff
shr eax, cl
cmp ecx, 0x1f
cmovg eax, esi
mov si, 0x20
sub esi, ecx
mov ecx, esi
mov esi, 0xffffff00
shl esi, cl
or eax, esi
mov esi, dword [edi + 4]
and eax, ebp
shl esi, cl
mov ecx, 5
or eax, esi
mov ebp, eax
mov eax, dword [esp + 0x34]
sub ecx, eax
lea edx, [eax - 1]
mov eax, ebp
shl ecx, 3
shr eax, cl
movzx eax, al
cmp dword [edi + 0x14], eax
ja 0x61b0e6b3
lea ecx, [edx*8]
mov eax, 0xffffffff
mov esi, 0
lea edi, [ebx + edx*4]
shr eax, cl
cmp ecx, 0x1f
cmovg eax, esi
mov si, 0x20
sub esi, ecx
mov ecx, esi
mov esi, 0xffffff00
shl esi, cl
or eax, esi
mov esi, dword [edi + 4]
and eax, ebp
shl esi, cl
mov ecx, 6
or eax, esi
mov ebp, eax
mov eax, dword [esp + 0x34]
sub ecx, eax
lea edx, [eax - 2]
mov eax, ebp
shl ecx, 3
shr eax, cl
movzx eax, al
cmp dword [edi + 0x14], eax
ja 0x61b0e6b3
lea ecx, [edx*8]
mov eax, 0xffffffff
mov esi, 0
lea edi, [ebx + edx*4]
shr eax, cl
cmp ecx, 0x1f
cmovg eax, esi
mov si, 0x20
sub esi, ecx
mov ecx, esi
mov esi, 0xffffff00
shl esi, cl
or eax, esi
mov esi, dword [edi + 4]
and eax, ebp
shl esi, cl
mov ecx, 7
or eax, esi
mov ebp, eax
mov eax, dword [esp + 0x34]
sub ecx, eax
lea edx, [eax - 3]
mov eax, ebp
shl ecx, 3
shr eax, cl
movzx eax, al
cmp dword [edi + 0x14], eax
ja 0x61b0e6b3
lea ecx, [edx*8]
mov eax, 0xffffffff
mov esi, 0
lea edi, [ebx + edx*4]
shr eax, cl
cmp ecx, 0x1f
cmovg eax, esi
mov si, 0x20
sub esi, ecx
mov ecx, esi
mov esi, 0xffffff00
shl esi, cl
or eax, esi
mov esi, dword [edi + 4]
and eax, ebp
shl esi, cl
mov ecx, 8
or eax, esi
mov ebp, eax
mov eax, dword [esp + 0x34]
sub ecx, eax
lea edx, [eax - 4]
mov eax, ebp
shl ecx, 3
shr eax, cl
movzx eax, al
cmp dword [edi + 0x14], eax
ja 0x61b0e6b3
lea ecx, [edx*8]
mov eax, 0xffffffff
mov edi, 0
mov esi, 0xffffff00
shr eax, cl
cmp ecx, 0x1f
cmovg eax, edi
mov di, 0x20
sub edi, ecx
mov ecx, edi
shl esi, cl
or eax, esi
mov esi, dword [ebx + edx*4 + 4]
and eax, ebp
shl esi, cl
mov ecx, 9
or eax, esi
mov ebp, eax
mov eax, dword [esp + 0x34]
sub ecx, eax
lea edx, [eax - 5]
mov eax, ebp
shl ecx, 3
shr eax, cl
movzx eax, al
lea ecx, [edx*8]
add eax, 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
cmp ecx, 0x1f
jg 0x61b0e6d9
mov eax, 0xffffffff
shr eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
mov edx, 3
sub edx, dword [esp + 0x34]
mov edi, 0x20
sub edi, ecx
lea eax, [ebx + eax*4]
mov dword [esp + 4], edi
shl edx, 3
mov edi, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, 0xffffff00
mov ecx, edx
mov esi, eax
shl esi, cl
movzx ecx, byte [esp + 4]
shl eax, cl
or eax, dword [esp + 0x10]
and eax, ebp
mov ebp, dword [esp + 0x14]
shl ebp, cl
mov ecx, edx
or eax, ebp
mov ebp, edi
shl ebp, cl
and eax, esi
mov ecx, edx
or eax, ebp
mov edx, dword [esp]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x18]
and edx, esi
mov eax, dword [eax + 0x18]
mov dword [ebx + 0xa0], 2
mov ebp, eax
add eax, 1
sub eax, edi
shl ebp, cl
imul eax, dword [esp + 0xc]
or edx, ebp
mov dword [ebx + 0x40], edx
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0x44], eax
mov eax, 1
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret 8
imul ecx, eax
add ecx, edx
cmp dword [esp + 0x30], ecx
jg 0x61b0e242
mov ebp, dword [esp + 4]
mov dword [ebx + 0x2c], esi
test ebp, ebp
jne 0x61b0e25d
mov eax, dword [ebx + 0x34]
mov ecx, 3
sub ecx, dword [ebx + 0x34]
mov edx, 0xffffff00
lea ebp, [ebx + eax*4]
shl ecx, 3
mov eax, dword [ebp + 8]
shl edx, cl
and esi, edx
and edx, dword [esp]
mov dword [esp + 4], eax
shl eax, cl
or esi, eax
mov dword [ebx + 0x2c], esi
mov eax, dword [ebp + 0x1c]
mov dword [ebx + 0xa0], 1
mov ebp, eax
add eax, 1
sub eax, dword [esp + 4]
shl ebp, cl
or edx, ebp
mov dword [ebx + 0x30], edx
imul edi, eax
mov eax, dword [ebx + 0x34]
add eax, 1
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x34], eax
add esp, 0x1c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
add eax, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
lea eax, [ebx + eax*4]
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 8]
xor eax, eax
test ecx, ecx
jg 0x61b0e765
mov eax, dword [ebx + 0x30]
add edx, 1
xor edi, edi
mov ecx, edx
sub ecx, esi
mov esi, dword [ebx + 0x2c]
mov dword [esp], eax
jmp 0x61b0e222
mov edx, 3
jmp 0x61b0e148
mov edx, 4
jmp 0x61b0e148
mov edx, 5
jmp 0x61b0e148
mov edx, 6
jmp 0x61b0e148
mov edx, 1
jmp 0x61b0e148
mov edx, 2
jmp 0x61b0e148
mov edx, dword [esp + 0x34]
jmp 0x61b0e6b3
mov ebp, dword [esp + 0x34]
jmp 0x61b0e4b2