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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x50
mov esi, esp
mov eax, dword [0x1026f864]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
xor eax, ebp
mov dword [esi + 0x48], eax
mov edi, dword [ecx + 0x10c]
mov edx, dword [ecx + 0x114]
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x20], ecx
mov ecx, dword [ebp + 0xc]
lea eax, [edx + edi]
shl eax, 2
mov dword [esi + 0x18], ecx
call fcn.101e0a30
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov ecx, dword [ebp + 8]
mov dword [esi + 8], edx
lea edx, [edx*4]
lea ecx, [ecx + 0x18]
push edx
mov dword [esi + 0x28], ecx
push ecx
mov dword [esi], eax
push eax
call fcn.101e35e0
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, dword [edx + 0x110]
mov dword [esi + 0x24], eax
mov eax, dword [edx + 0x128]
mov dword [esi + 4], eax
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp ebx, edi
cmovle edi, ebx
lea ecx, [eax + ecx*4]
push edi
push dword [esi + 0xc]
push dword [esi + 0x20]
push ecx
push edx
call fcn.101dffb0
mov ecx, dword [ebp + 8]
add esp, 0x14
mov eax, dword [ecx + 0x114]
mov dword [esi + 0x2c], edi
shl edi, 0x10
mov dword [esi + 0x30], ebx
cmp eax, 0x12
je 0x101dd178
cmp eax, 0x18
je 0x101dd4bb
cmp eax, 0x24
jne 0x101dd6e9
test edi, edi
jle 0x101dd700
mov ebx, dword [esi]
xor eax, eax
mov dword [esi + 0x1c], edi
mov edx, eax
mov dword [esi + 8], eax
mov ecx, dword [esi + 4]
sar edx, 0x10
mov eax, dword [ebx + edx*4 + 0x8c]
add eax, dword [ebx + edx*4]
movsx ebx, word [ecx + 4]
mov ecx, dword [esi]
movzx edi, ax
sar eax, 0x10
imul edi, ebx
imul eax, ebx
sar edi, 0x10
add edi, eax
mov eax, dword [esi]
mov eax, dword [eax + edx*4 + 0x88]
add eax, dword [ecx + edx*4 + 4]
mov ecx, dword [esi + 4]
movsx ecx, word [ecx + 6]
mov ebx, eax
movzx eax, ax
sar ebx, 0x10
imul ebx, ecx
imul eax, ecx
mov ecx, dword [esi]
add ebx, edi
mov edi, dword [esi]
sar eax, 0x10
add eax, ebx
mov ebx, dword [esi + 4]
mov ecx, dword [ecx + edx*4 + 0x84]
movsx ebx, word [ebx + 8]
add ecx, dword [edi + edx*4 + 8]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x80]
movsx ebx, word [ebx + 0xa]
add ecx, dword [edi + edx*4 + 0xc]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x7c]
movsx ebx, word [ebx + 0xc]
add ecx, dword [edi + edx*4 + 0x10]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x78]
movsx ebx, word [ebx + 0xe]
add ecx, dword [edi + edx*4 + 0x14]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x74]
movsx ebx, word [ebx + 0x10]
add ecx, dword [edi + edx*4 + 0x18]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x70]
movsx ebx, word [ebx + 0x12]
add ecx, dword [edi + edx*4 + 0x1c]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x6c]
movsx ebx, word [ebx + 0x14]
add ecx, dword [edi + edx*4 + 0x20]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x68]
movsx ebx, word [ebx + 0x16]
add ecx, dword [edi + edx*4 + 0x24]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x64]
movsx ebx, word [ebx + 0x18]
add ecx, dword [edi + edx*4 + 0x28]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x60]
movsx ebx, word [ebx + 0x1a]
add ecx, dword [edi + edx*4 + 0x2c]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x5c]
movsx ebx, word [ebx + 0x1c]
add ecx, dword [edi + edx*4 + 0x30]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x58]
movsx ebx, word [ebx + 0x1e]
add ecx, dword [edi + edx*4 + 0x34]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x54]
movsx ebx, word [ebx + 0x20]
add ecx, dword [edi + edx*4 + 0x38]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x50]
movsx ebx, word [ebx + 0x22]
add ecx, dword [edi + edx*4 + 0x3c]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x4c]
movsx ebx, word [ebx + 0x24]
add ecx, dword [edi + edx*4 + 0x40]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
imul eax, ebx
mov ebx, dword [esi]
sar eax, 0x10
add eax, edi
mov edi, dword [esi + 4]
mov ecx, dword [ebx + edx*4 + 0x48]
movsx edi, word [edi + 0x26]
add ecx, dword [ebx + edx*4 + 0x44]
mov edx, ecx
sar edx, 0x10
imul edx, edi
add edx, eax
movzx eax, cx
imul eax, edi
sar eax, 0x10
add eax, edx
mov edx, 0x8000
mov ecx, eax
sar ecx, 5
inc ecx
sar ecx, 1
cmp ecx, 0xffff8000
cmovle ecx, edx
mov edx, dword [esi + 8]
cmp eax, 0x1fffdf
mov eax, 0x7fff
cmovg ecx, eax
mov eax, dword [esi + 0x18]
add edx, dword [esi + 0x24]
mov word [eax], cx
add eax, 2
mov dword [esi + 0x18], eax
cmp edx, dword [esi + 0x1c]
mov eax, edx
jl 0x101dce5a
jmp 0x101dd700
test edi, edi
jle 0x101dd700
mov eax, dword [ecx + 0x118]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x38], eax
cwde
mov dword [esi + 0x34], eax
xor eax, eax
mov edx, eax
mov dword [esi + 0x3c], eax
movzx eax, ax
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
imul eax, dword [esi + 0x34]
sar edx, 0x10
mov dword [esi + 8], edx
mov ecx, dword [ecx + edx*4]
sar eax, 0x10
mov dword [esi + 0x10], eax
lea eax, [eax + eax*8]
mov dword [esi + 0xc], eax
movsx eax, word [ebx + eax*2 + 4]
movzx edi, cx
sar ecx, 0x10
imul edi, eax
imul ecx, eax
mov eax, dword [esi]
sar edi, 0x10
add edi, ecx
mov ecx, dword [eax + edx*4 + 4]
mov eax, dword [esi + 0xc]
mov dword [esi + 0x14], ecx
movsx ebx, word [ebx + eax*2 + 6]
sar ecx, 0x10
movzx eax, word [esi + 0x14]
imul ecx, ebx
imul eax, ebx
add ecx, edi
mov ebx, dword [esi + 0xc]
sar eax, 0x10
add eax, ecx
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4 + 8]
mov edx, dword [esi + 4]
movsx ebx, word [edx + ebx*2 + 8]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 0xc]
sar eax, 0x10
add eax, edi
mov edi, dword [esi + 8]
mov edi, dword [ecx + edi*4 + 0xc]
movsx ecx, word [edx + ebx*2 + 0xa]
mov edx, dword [esi + 8]
mov dword [esi + 0x14], edi
sar edi, 0x10
imul edi, ecx
add edi, eax
movzx eax, word [esi + 0x14]
imul eax, ecx
mov ecx, dword [esi]
sar eax, 0x10
add eax, edi
mov edi, dword [ecx + edx*4 + 0x10]
mov ecx, dword [esi + 4]
movsx ecx, word [ecx + ebx*2 + 0xc]
mov dword [esi + 0x14], edi
sar edi, 0x10
imul edi, ecx
add edi, eax
movzx eax, word [esi + 0x14]
imul eax, ecx
mov ecx, dword [esi]
sar eax, 0x10
add eax, edi
mov edi, dword [ecx + edx*4 + 0x14]
mov edx, dword [esi + 4]
movsx ecx, word [edx + ebx*2 + 0xe]
mov dword [esi + 0x14], edi
sar edi, 0x10
imul edi, ecx
add edi, eax
movzx eax, word [esi + 0x14]
imul eax, ecx
mov ecx, dword [esi]
sar eax, 0x10
add eax, edi
mov edi, dword [esi + 8]
mov edi, dword [ecx + edi*4 + 0x18]
movsx ecx, word [edx + ebx*2 + 0x10]
mov ebx, edx
mov edx, dword [esi + 8]
mov dword [esi + 0x14], edi
sar edi, 0x10
imul edi, ecx
add edi, eax
movzx eax, word [esi + 0x14]
imul eax, ecx
mov ecx, dword [esi]
sar eax, 0x10
add eax, edi
mov ecx, dword [ecx + edx*4 + 0x1c]
mov edx, ebx
mov ebx, dword [esi + 0xc]
movsx ebx, word [edx + ebx*2 + 0x12]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 0xc]
sar eax, 0x10
add eax, edi
mov edi, dword [esi + 8]
movsx ebx, word [edx + ebx*2 + 0x14]
mov ecx, dword [ecx + edi*4 + 0x20]
mov edi, ecx
movzx ecx, cx
sar edi, 0x10
imul ecx, ebx
imul edi, ebx
sar ecx, 0x10
add edi, eax
mov eax, dword [esi + 0x10]
add ecx, edi
mov edi, dword [esi + 8]
not eax
add eax, dword [esi + 0x38]
mov ebx, eax
mov eax, dword [esi]
mov edi, dword [eax + edi*4 + 0x44]
lea eax, [ebx + ebx*8]
mov ebx, edx
movsx edx, word [edx + eax*2 + 4]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x10], edi
sar edi, 0x10
imul edi, edx
add edi, ecx
movzx ecx, word [esi + 0x10]
imul ecx, edx
mov edx, dword [esi]
sar ecx, 0x10
add ecx, edi
mov eax, dword [edx + eax*4 + 0x40]
mov edx, dword [esi + 0xc]
movsx ebx, word [ebx + edx*2 + 6]
mov edi, eax
mov edx, dword [esi]
sar edi, 0x10
imul edi, ebx
add edi, ecx
movzx ecx, ax
mov eax, dword [esi + 8]
imul ecx, ebx
mov ebx, dword [esi + 0xc]
sar ecx, 0x10
add ecx, edi
mov edi, dword [edx + eax*4 + 0x3c]
mov edx, dword [esi + 4]
movsx edx, word [edx + ebx*2 + 8]
mov dword [esi + 0x10], edi
sar edi, 0x10
imul edi, edx
add edi, ecx
movzx ecx, word [esi + 0x10]
imul ecx, edx
mov edx, dword [esi]
sar ecx, 0x10
add ecx, edi
mov edx, dword [edx + eax*4 + 0x38]
mov eax, dword [esi + 4]
movsx eax, word [eax + ebx*2 + 0xa]
mov edi, edx
mov ebx, dword [esi + 4]
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, dx
mov edx, dword [esi]
imul ecx, eax
mov eax, dword [esi + 8]
sar ecx, 0x10
add ecx, edi
mov edi, dword [edx + eax*4 + 0x34]
mov edx, dword [esi + 0xc]
movsx ebx, word [ebx + edx*2 + 0xc]
mov dword [esi + 0x10], edi
sar edi, 0x10
mov edx, dword [esi]
imul edi, ebx
add edi, ecx
movzx ecx, word [esi + 0x10]
imul ecx, ebx
mov ebx, dword [esi + 4]
sar ecx, 0x10
add ecx, edi
mov edi, dword [edx + eax*4 + 0x30]
mov eax, dword [esi + 0xc]
movsx edx, word [ebx + eax*2 + 0xe]
mov dword [esi + 0x10], edi
sar edi, 0x10
imul edi, edx
add edi, ecx
movzx ecx, word [esi + 0x10]
imul ecx, edx
mov edx, dword [esi]
sar ecx, 0x10
add ecx, edi
mov edi, dword [esi + 8]
mov edi, dword [edx + edi*4 + 0x2c]
movsx edx, word [ebx + eax*2 + 0x10]
mov ebx, eax
mov eax, dword [esi + 8]
mov dword [esi + 0x10], edi
sar edi, 0x10
imul edi, edx
add edi, ecx
movzx ecx, word [esi + 0x10]
imul ecx, edx
mov edx, dword [esi]
sar ecx, 0x10
add ecx, edi
mov edx, dword [edx + eax*4 + 0x28]
mov eax, ebx
mov ebx, dword [esi + 4]
movsx ebx, word [ebx + eax*2 + 0x12]
mov edi, edx
sar edi, 0x10
imul edi, ebx
add edi, ecx
movzx ecx, dx
mov edx, dword [esi + 8]
imul ecx, ebx
mov ebx, dword [esi + 4]
sar ecx, 0x10
add ecx, edi
mov edi, dword [esi]
movsx eax, word [ebx + eax*2 + 0x14]
mov edx, dword [edi + edx*4 + 0x24]
mov edi, edx
movzx ebx, dx
mov edx, 0x8000
sar edi, 0x10
imul ebx, eax
imul edi, eax
sar ebx, 0x10
add edi, ecx
add ebx, edi
mov edi, dword [esi + 0x18]
mov eax, ebx
sar eax, 5
inc eax
sar eax, 1
cmp eax, 0xffff8000
cmovle eax, edx
cmp ebx, 0x1fffdf
mov edx, 0x7fff
cmovg eax, edx
mov edx, dword [esi + 0x3c]
mov word [edi], ax
add edi, 2
mov dword [esi + 0x18], edi
add edx, dword [esi + 0x24]
cmp edx, dword [esi + 0x1c]
mov eax, edx
jl 0x101dd192
jmp 0x101dd700
test edi, edi
jle 0x101dd700
mov ebx, dword [esi]
xor eax, eax
mov dword [esi + 0x1c], edi
mov edx, eax
mov dword [esi + 8], eax
mov ecx, dword [esi + 4]
sar edx, 0x10
mov eax, dword [ebx + edx*4 + 0x5c]
add eax, dword [ebx + edx*4]
movsx ebx, word [ecx + 4]
mov ecx, dword [esi]
movzx edi, ax
sar eax, 0x10
imul edi, ebx
imul eax, ebx
sar edi, 0x10
add edi, eax
mov eax, dword [esi]
mov eax, dword [eax + edx*4 + 0x58]
add eax, dword [ecx + edx*4 + 4]
mov ecx, dword [esi + 4]
movsx ecx, word [ecx + 6]
mov ebx, eax
movzx eax, ax
sar ebx, 0x10
imul ebx, ecx
imul eax, ecx
mov ecx, dword [esi]
add ebx, edi
mov edi, dword [esi]
sar eax, 0x10
add eax, ebx
mov ebx, dword [esi + 4]
mov ecx, dword [ecx + edx*4 + 0x54]
movsx ebx, word [ebx + 8]
add ecx, dword [edi + edx*4 + 8]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x50]
movsx ebx, word [ebx + 0xa]
add ecx, dword [edi + edx*4 + 0xc]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x4c]
movsx ebx, word [ebx + 0xc]
add ecx, dword [edi + edx*4 + 0x10]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x48]
movsx ebx, word [ebx + 0xe]
add ecx, dword [edi + edx*4 + 0x14]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x44]
movsx ebx, word [ebx + 0x10]
add ecx, dword [edi + edx*4 + 0x18]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x40]
movsx ebx, word [ebx + 0x12]
add ecx, dword [edi + edx*4 + 0x1c]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x3c]
movsx ebx, word [ebx + 0x14]
add ecx, dword [edi + edx*4 + 0x20]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x38]
movsx ebx, word [ebx + 0x16]
add ecx, dword [edi + edx*4 + 0x24]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
mov ecx, dword [esi]
imul eax, ebx
mov ebx, dword [esi + 4]
sar eax, 0x10
add eax, edi
mov edi, dword [esi]
mov ecx, dword [ecx + edx*4 + 0x34]
movsx ebx, word [ebx + 0x18]
add ecx, dword [edi + edx*4 + 0x28]
mov edi, ecx
sar edi, 0x10
imul edi, ebx
add edi, eax
movzx eax, cx
imul eax, ebx
mov ebx, dword [esi]
sar eax, 0x10
add eax, edi
mov edi, dword [esi + 4]
mov ecx, dword [ebx + edx*4 + 0x30]
movsx edi, word [edi + 0x1a]
add ecx, dword [ebx + edx*4 + 0x2c]
mov edx, ecx
sar edx, 0x10
imul edx, edi
add edx, eax
movzx eax, cx
imul eax, edi
sar eax, 0x10
add eax, edx
mov edx, 0x8000
mov ecx, eax
sar ecx, 5
inc ecx
sar ecx, 1
cmp ecx, 0xffff8000
cmovle ecx, edx
mov edx, dword [esi + 8]
cmp eax, 0x1fffdf
mov eax, 0x7fff
cmovg ecx, eax
mov eax, dword [esi + 0x18]
add edx, dword [esi + 0x24]
mov word [eax], cx
add eax, 2
mov dword [esi + 0x18], eax
cmp edx, dword [esi + 0x1c]
mov eax, edx
jl 0x101dd4ca
jmp 0x101dd700
push 0x8b
push 0x10255d78
push str.assertion_failed:_0
call fcn.10193ce0
add esp, 0xc
mov ebx, dword [esi + 0x30]
mov ecx, dword [esi + 0x2c]
sub ebx, ecx
cmp ebx, 2
jl 0x101dd74c
mov eax, dword [esi + 0x20]
mov edx, dword [esi]
mov edi, dword [ebp + 8]
lea eax, [eax + ecx*2]
mov dword [esi + 0x20], eax
lea eax, [edx + ecx*4]
mov ecx, dword [edi + 0x114]
mov dword [esi + 8], ecx
lea ecx, [ecx*4]
push ecx
push eax
push edx
call fcn.101e35e0
mov edx, edi
add esp, 0xc
mov edi, dword [edi + 0x10c]
mov eax, dword [edx + 0x128]
jmp 0x101dcdfd
mov eax, dword [esi]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x114]
shl ecx, 2
push ecx
push eax
push dword [esi + 0x28]
call fcn.101e35e0
add esp, 0xc
mov ecx, dword [esi + 0x48]
xor ecx, ebp
call fcn.101e05ab
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret