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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e2e28
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push esi
push edi
mov eax, dword [0x101279d8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x74]
shr eax, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebp + 0xc]
mov dword [edi + 0x78], ecx
mov dword [edi + 0x18], eax
mov edx, dword [edi + 0x80]
sub edx, dword [edi + 0x74]
add eax, eax
add eax, eax
add eax, eax
lea ebx, [eax + eax]
cmp ebx, edx
jbe 0x1008209b
push eax
lea ecx, [edi + 0x74]
call fcn.100818b0
mov eax, dword [edi + 0x74]
mov ecx, dword [edi + 0x78]
add eax, ebx
cmp ecx, eax
jae 0x100820b3
xor edx, edx
mov word [ecx], dx
add ecx, 2
cmp ecx, eax
jne 0x100820a7
mov dword [edi + 0x78], eax
xor ebx, ebx
lea eax, [edi + 0x34]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], eax
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x74]
imul ecx, ebx
mov edx, dword [ebp + 0x10]
lea eax, [eax + ecx*2]
lea ecx, [edx + ebx + 7]
and ecx, 0xfffffff8
mov dword [ebp - 0x34], ecx
lea edx, [ebp - 0x34]
cmp ecx, dword [ebp - 0x30]
jl 0x100820e8
lea edx, [ebp - 0x30]
mov edx, dword [edx]
mov esi, dword [ebp - 0x24]
mov dword [esi], edx
mov esi, dword [ebp + 8]
mov esi, dword [esi + 4]
sub ecx, edx
mov dword [ebp - 0x14], esi
mov esi, dword [ebp + 0xc]
sub ecx, ebx
mov dword [ebp - 0x38], ecx
test esi, esi
je 0x1008221d
add edx, edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], esi
jmp 0x10082117
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x14]
sar esi, 0x10
lea edx, [esi + ebx]
and edx, 0xfffffff8
sub edx, ebx
mov ebx, dword [ebp - 0x28]
cmp edx, ebx
cmovl edx, ebx
mov ebx, dword [ebp - 0x1c]
cmp edx, ecx
cmovg edx, ecx
xor ecx, ecx
mov dword [eax], edx
mov word [eax + 4], cx
mov word [eax + 6], cx
mov word [eax + 8], cx
mov word [eax + 0xa], cx
mov word [eax + 0xc], cx
mov word [eax + 0xe], cx
mov ecx, dword [ebp - 0x14]
mov edi, dword [edi + 4]
sar ecx, 8
and ecx, 0xff
imul ecx, ebx
lea ecx, [edi + ecx*4]
mov dword [ebp - 0x10], ecx
mov ecx, esi
add eax, 0x10
xor edi, edi
sub ecx, edx
test esi, esi
jns 0x1008217a
mov edi, esi
neg edi
mov edx, ebx
add edx, esi
cmp edx, dword [ebp + 0x10]
jle 0x10082188
mov ebx, dword [ebp + 0x10]
sub ebx, esi
lea edx, [eax + ecx*2]
add eax, dword [ebp - 0x3c]
mov ecx, edi
cmp edi, ebx
jge 0x100821a4
mov esi, dword [ebp - 0x10]
mov si, word [esi + ecx*4]
mov word [edx + ecx*2], si
inc ecx
cmp ecx, ebx
jl 0x10082194
test edi, edi
jle 0x100821d3
movzx ecx, word [edx + edi*2]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x10]
lea esi, [ecx + edi*4]
mov dword [ebp - 0x40], esi
cmp ecx, esi
je 0x100821cb
mov si, word [ecx]
add word [ebp - 0x18], si
add ecx, 4
cmp ecx, dword [ebp - 0x40]
jne 0x100821bc
mov cx, word [ebp - 0x18]
mov word [edx + edi*2], cx
mov esi, dword [ebp - 0x1c]
cmp ebx, esi
jge 0x10082202
movzx ecx, word [edx + ebx*2 - 2]
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
lea ecx, [edi + ebx*4]
lea esi, [edi + esi*4]
mov di, word [ebp - 0x18]
cmp ecx, esi
je 0x100821fd
add di, word [ecx]
add ecx, 4
cmp ecx, esi
jne 0x100821f3
mov word [edx + ebx*2 - 2], di
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 8]
add dword [ebp - 0x14], ecx
dec dword [ebp - 0x34]
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x2c]
jne 0x10082114
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x24], 4
dec eax
inc ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], eax
cmp eax, 0xfffffff8
jg 0x100820c4
xor edx, edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x44], edx
mov eax, esi
and esi, 3
shr eax, 2
mov dword [ebp - 0x38], esi
xor esi, esi
lea ecx, [edi + 0x54]
mov dword [ebp - 4], edx
mov dword [ebp + 0x10], eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], ecx
lea esp, [esp]
mov eax, dword [ecx - 0x20]
mov ebx, eax
sar ebx, 3
mov dword [ebp - 0x40], ebx
lea ebx, [eax - 8]
cmp ebx, 8
ja 0x100823d7
mov ebx, eax
add eax, 2
imul eax, dword [ebp + 0x10]
sub edx, dword [ebp - 0x50]
add eax, eax
add eax, eax
mov byte [edi + esi + 0x2c], 1
mov dword [ecx], eax
mov ecx, dword [edi + 0x18]
mov eax, ecx
imul eax, esi
mov esi, dword [edi + 0x74]
sar ebx, 1
lea esi, [esi + eax*2]
lea eax, [ecx + ecx]
add ebx, 4
mov dword [ebp - 0x34], ebx
mov dword [ebp + 0xc], eax
cmp eax, edx
jbe 0x100822b7
push ecx
lea ecx, [ebp - 0x50]
call fcn.100818d0
mov edx, dword [edi + 0x18]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp + 0xc]
add edx, edx
push edx
add ecx, eax
push esi
push eax
mov dword [ebp - 0x4c], ecx
call fcn.100a7bf0
mov eax, dword [ebp - 0x50]
mov edx, eax
lea eax, [eax + ebx*4]
lea ecx, [eax + ebx*4]
lea edi, [ecx + ebx*4]
add esp, 0xc
cmp dword [ebp + 0x10], 0
lea ebx, [ebx + ebx*2]
mov dword [ebp + 0xc], ebx
jle 0x100823b3
add ebx, ebx
add ebx, ebx
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp + 8], ebx
mov ebx, dword [edx]
mov dword [esi], ebx
mov ebx, dword [eax]
mov dword [esi + 4], ebx
mov ebx, dword [ecx]
mov dword [esi + 8], ebx
mov ebx, dword [edi]
mov dword [esi + 0xc], ebx
mov ebx, dword [ebp - 0x40]
add edx, 0x10
add eax, 0x10
add ecx, 0x10
add edi, 0x10
add esi, 0x10
test ebx, ebx
jle 0x1008239f
mov dword [ebp + 0xc], ebx
lea esp, [esp]
mov ebx, dword [edx]
mov dword [esi], ebx
mov ebx, dword [edx + 4]
mov dword [esi + 4], ebx
mov ebx, dword [edx + 8]
mov dword [esi + 8], ebx
mov ebx, dword [edx + 0xc]
mov dword [esi + 0xc], ebx
mov ebx, dword [eax]
mov dword [esi + 0x10], ebx
mov ebx, dword [eax + 4]
mov dword [esi + 0x14], ebx
mov ebx, dword [eax + 8]
mov dword [esi + 0x18], ebx
mov ebx, dword [eax + 0xc]
mov dword [esi + 0x1c], ebx
mov ebx, dword [ecx]
mov dword [esi + 0x20], ebx
mov ebx, dword [ecx + 4]
mov dword [esi + 0x24], ebx
mov ebx, dword [ecx + 8]
mov dword [esi + 0x28], ebx
mov ebx, dword [ecx + 0xc]
mov dword [esi + 0x2c], ebx
mov ebx, dword [edi]
mov dword [esi + 0x30], ebx
mov ebx, dword [edi + 4]
mov dword [esi + 0x34], ebx
mov ebx, dword [edi + 8]
mov dword [esi + 0x38], ebx
mov ebx, dword [edi + 0xc]
mov dword [esi + 0x3c], ebx
add esi, 0x40
add edx, 0x10
add eax, 0x10
add ecx, 0x10
add edi, 0x10
dec dword [ebp + 0xc]
jne 0x10082330
mov ebx, dword [ebp - 0x3c]
add edx, ebx
add eax, ebx
add ecx, ebx
add edi, ebx
dec dword [ebp + 8]
jne 0x100822fd
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x38]
add eax, eax
add eax, eax
push eax
push edx
push esi
call fcn.100a7bf0
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
add esp, 0xc
jmp 0x100823dc
mov byte [edi + esi + 0x2c], 0
inc esi
add ecx, 4
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], ecx
cmp esi, 8
jl 0x10082260
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x100823ff
push eax
call fcn.100a80e9
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc