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

Disassembly:
push ebp
push edi
mov edi, 0xaaaaaaab
push esi
push ebx
sub esp, 0x5c
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x74]
lea edx, [ecx + 2]
mov eax, edx
mul edi
shr edx, 1
mov eax, edx
mov dword [esp + 0x20], edx
add edx, edx
add eax, 1
mov edi, eax
mov dword [esp + 0x28], eax
shl edi, 4
mov dword [esp + 0x44], edi
add edi, ebx
mov dword [esp + 0x30], edi
mov edi, eax
shl eax, 3
lea ebp, [ebx + eax]
mov dword [esp + 0x48], eax
sub eax, 8
shl edi, 2
mov dword [esp + 0x4c], eax
add eax, esi
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x34], eax
xor eax, eax
add ebp, edi
sub ecx, edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], ecx
jne 0xf1872d
cmp ebx, esi
je 0xf1821d
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jle 0xf1821d
mov edx, dword [esi + eax*4]
mov dword [ebx + eax*4], edx
add eax, 1
cmp ecx, eax
jne 0xf18210
mov ecx, dword [esp + 0x30]
lea eax, [edi - 4]
mov dword [esp + 4], ebx
mov edx, eax
mov dword [esp + 0x40], eax
mov eax, ecx
lea ebp, [esi + edx]
mov dword [esp], ecx
add eax, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
call dword [0x82f360]
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
jmp 0xf1826a
mov ecx, dword [ebp + eax*4]
cmp dword [ebx + eax*4], ecx
jne 0xf186fd
sub eax, 1
cmp eax, 0xffffffff
jne 0xf1825d
xor edi, edi
mov eax, dword [esp + 0x20]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov dword [esp], ebp
call dword [fcn.0082f3e8]
mov ecx, dword [esp + 0x40]
sub edi, eax
mov dword [ebp + ecx], edi
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp], ecx
call dword [0x82f360]
mov ecx, dword [esp + 0x20]
cmp ecx, edi
je 0xf1832d
mov ebp, ecx
lea ecx, [edi*4]
xor edx, edx
sub ebp, edi
mov edi, dword [esp + 0x30]
add edi, ecx
add ecx, dword [esp + 0x24]
add eax, dword [edi]
setb dl
mov dword [ecx], eax
test edx, edx
je 0xf1860f
cmp ebp, 1
jle 0xf18325
mov eax, dword [edi + 4]
add eax, 1
test eax, eax
mov dword [ecx + 4], eax
mov eax, 2
je 0xf18321
jmp 0xf187ed
mov edx, dword [edi + eax*4]
add edx, 1
mov dword [ecx + eax*4], edx
add eax, 1
test edx, edx
jne 0xf187ed
cmp ebp, eax
jne 0xf1830d
mov eax, 1
lea esi, [esi]
mov edi, dword [esp + 0x3c]
add eax, dword [edi]
mov dword [esp + 0xc], 1
lea edi, [eax + eax]
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], eax
call dword [fcn.0082f398]
mov ecx, dword [esp + 0x20]
mov ebp, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp], eax
call dword [fcn.0082f3e8]
mov ecx, dword [esp + 0x40]
sub ebp, eax
mov eax, dword [esp + 0x24]
add edi, ebp
mov dword [eax + ecx], edi
mov eax, dword [esp + 0x28]
cmp dword [0x82f3fc], eax
jle 0xf184dd
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x82f3e4]
mov eax, dword [esp + 0x28]
cmp eax, dword [0x82f3fc]
jge 0xf1851b
mov edi, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
lea edi, [ebx + edi - 4]
mov dword [esp + 4], eax
mov dword [esp + 0x38], edi
mov dword [esp], edi
call dword [0x82f3e4]
mov eax, dword [esp + 0x2c]
cmp eax, dword [0x82f3fc]
jge 0xf18569
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x70]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
sub edi, 0x10
add ebp, edi
mov dword [esp + 4], eax
mov dword [esp], ebp
call dword [0x82f3e4]
mov eax, dword [ebp]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
lea edi, [eax + edi + 4]
mov eax, dword [esp + 0x28]
cmp eax, dword [0x82f3fc]
mov ebp, dword [edi]
jge 0xf185ad
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
add eax, dword [esp + 0x70]
mov dword [esp], eax
call dword [0x82f3e4]
mov dword [edi], ebp
mov eax, dword [esp + 0x20]
cmp eax, dword [0x82f3fc]
jl 0xf185f5
mov eax, dword [esp + 0x20]
cmp eax, dword [0x82f400]
mov eax, dword [esp + 0x28]
mov dword [esp + 4], esi
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
jl 0xf186ed
call fcn.00f1818d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 8], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
add ecx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00f199dd
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x28]
cmp edi, dword [0x82f400]
jge 0xf186bd
lea eax, [edi + edi*4]
mov dword [esp + 8], edi
mov dword [esp], ebx
lea eax, [ebx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00f17e2d
mov eax, dword [esp + 0x28]
cmp eax, dword [0x82f3fc]
jl 0xf183ba
mov eax, dword [esp + 0x28]
cmp eax, dword [0x82f400]
jge 0xf18631
mov edi, dword [esp + 0x48]
lea edi, [ebx + edi - 4]
mov ecx, edi
mov dword [esp + 0x38], edi
mov edi, eax
lea eax, [eax + eax*4]
mov dword [esp + 8], edi
mov dword [esp], ecx
lea eax, [ebx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.00f17e2d
mov eax, dword [esp + 0x2c]
cmp eax, dword [0x82f3fc]
jl 0xf183eb
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
sub edi, 0x10
add ebp, edi
lea eax, [eax + eax*4]
cmp ecx, dword [0x82f400]
lea eax, [ebx + eax*4]
mov dword [esp + 0xc], eax
jge 0xf1866d
mov eax, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.00f17e2d
jmp 0xf1840d
mov edx, dword [esp + 0x28]
cmp edx, dword [0x82f400]
jge 0xf1868d
lea eax, [edx + edx*4]
mov dword [esp + 8], edx
lea eax, [ebx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
add eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00f17e2d
mov dword [edi], ebp
mov eax, dword [esp + 0x20]
cmp eax, dword [0x82f3fc]
jge 0xf1845d
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [0x82f3e4]
jmp 0xf18493
cmp edi, ecx
je 0xf1862a
cmp ebp, 1
jle 0xf1862a
mov eax, 1
mov edx, dword [edi + eax*4]
mov dword [ecx + eax*4], edx
add eax, 1
cmp ebp, eax
jne 0xf1861d
xor eax, eax
jmp 0xf1832d
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
lea eax, [ebx + eax - 4]
mov dword [esp + 8], edx
mov edi, eax
mov dword [esp + 0x38], eax
lea eax, [edx + edx*4]
mov dword [esp], edi
lea eax, [ebx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.00f1818d
jmp 0xf183db
mov eax, dword [esp + 0x2c]
mov dword [esp], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00f1818d
jmp 0xf1840d
mov edx, dword [esp + 0x28]
lea eax, [edx + edx*4]
mov dword [esp + 8], edx
lea eax, [ebx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
add eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00f1818d
jmp 0xf1844b
mov edi, dword [esp + 0x28]
mov dword [esp], ebx
lea eax, [edi + edi*4]
mov dword [esp + 8], edi
lea eax, [ebx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00f1818d
jmp 0xf183aa
call fcn.00f17e2d
jmp 0xf18493
ja 0xf18272
mov eax, dword [esp + 0x20]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp], ebp
call dword [fcn.0082f3e8]
mov dword [ebp + edi - 4], 0
jmp 0xf1829b
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
mov ebp, ecx
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00efb60d
test eax, eax
je 0xf187dd
cmp dword [esp + 0x20], ebp
mov eax, ebp
jle 0xf18796
mov edx, dword [esi + ebp*4]
add eax, 1
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], edx
add edx, 1
test edx, edx
mov dword [ebx + ebp*4], edx
je 0xf18792
jmp 0xf18204
mov edx, dword [esi + eax*4]
add eax, 1
add edx, 1
test edx, edx
mov dword [ebx + eax*4 - 4], edx
jne 0xf18204
cmp ecx, eax
jne 0xf1877d
lea eax, [edi - 4]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ebx
mov edx, eax
mov dword [esp + 0x40], eax
lea ebp, [esi + edx]
mov eax, edi
mov dword [esp], edi
add eax, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 8], ebp
call dword [0x82f360]
mov edi, dword [esp + 0x3c]
add eax, 1
mov dword [edi], eax
mov edi, 1
jmp 0xf18274
mov eax, dword [esp + 0x2c]
jmp 0xf18204
cmp edi, ecx
je 0xf1862a
cmp ebp, eax
jle 0xf1862a
mov edx, dword [edi + eax*4]
mov dword [ecx + eax*4], edx
add eax, 1
cmp ebp, eax
jne 0xf187fd
xor eax, eax
jmp 0xf1832d