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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4fc
mov eax, dword [0x103b9004]
xor eax, esp
mov dword [esp + 0x4f8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x74], edi
mov ecx, dword [edi + 0x90]
cmp ecx, 1
jne 0x100b35a7
test byte [edi + 0x48], 4
lea ecx, [edi + 0x3c]
je 0x100b3542
push eax
call fcn.10153ca0
jmp 0x100b3553
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x100b354d
xor eax, eax
jmp 0x100b3553
push eax
call fcn.10151dc0
test eax, eax
jne 0x100b3629
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x100b4e53
mov edx, dword [edi]
xorps xmm1, xmm1
push ecx
comiss xmm1, dword [edx + 4]
movss xmm0, dword [edx + 8]
seta al
push eax
xor eax, eax
comiss xmm0, xmm1
seta al
push eax
call fcn.100b2600
mov ecx, dword [edi + 0x88]
mov esi, eax
test ecx, ecx
je 0x100b359c
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [edi + 0x88], esi
jmp 0x100b4e53
cmp ecx, 2
jne 0x100b35fa
test byte [edi + 0x48], 4
je 0x100b35d2
push eax
lea ecx, [edi + 0x3c]
call fcn.10153ca0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4f8]
xor ecx, esp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x100b4e53
push eax
call fcn.10151dc0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4f8]
xor ecx, esp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 4
cmp ecx, 3
jne 0x100b4e53
test byte [edi + 0x48], 4
lea ecx, [edi + 0x3c]
je 0x100b3614
push eax
call fcn.10153ca0
jmp 0x100b3625
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x100b361f
xor eax, eax
jmp 0x100b3625
push eax
call fcn.10151dc0
test eax, eax
je 0x100b3645
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4f8]
xor ecx, esp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
sub ebx, dword [edi + 4]
sub esi, dword [edi + 8]
mov ecx, dword [edi + 0x88]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x5c], esi
test ecx, ecx
je 0x100b4e53
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x88]
mov dword [esp + 0x48], 0
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x100b3694
mov edx, dword [ecx]
call dword [edx + 4]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x88]
mov eax, dword [eax + 0x18]
push 0x28
mov dword [esp + 0x40], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x100b4e53
xorps xmm0, xmm0
mov ecx, eax
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
movq qword [eax + 0x20], xmm0
call fcn.10095ed0
mov dword [esp + 0x38], eax
test eax, eax
je 0x100b4e53
mov ecx, dword [edi + 0x40]
mov eax, dword [ecx + 0x14]
shl eax, 8
add eax, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 1
jne 0x100b36ed
mov eax, pe_nt_image_headers32
jmp 0x100b3711
cmp eax, 0x401
jl 0x100b36fb
mov eax, 0x620
jmp 0x100b3711
cmp eax, 0x20
jle 0x100b370c
cmp eax, 0x220
mov eax, 0x218
jne 0x100b3711
mov eax, 0x220
push ecx
mov ecx, dword [esp + 0x3c]
push 0
push eax
push dword [edi + 0x20]
mov dword [esp + 0x68], eax
push dword [edi + 0x1c]
call fcn.10095fa0
mov ecx, dword [esp + 0x38]
test eax, eax
jne 0x100b373b
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x100b4e53
push 0
call fcn.10096a30
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x100b3758
push 0
call fcn.10096a30
mov edx, dword [esp + 0x38]
movaps xmm0, xmmword [0x103a69d0]
lea eax, [edi + 0x24]
movups xmmword [esp + 0x4b4], xmm0
lea ecx, [esp + 0x4b4]
movd xmm0, dword [edi + 0x14]
cvtdq2ps xmm0, xmm0
push 0
push eax
movss dword [esp + 0x4cc], xmm0
movd xmm0, dword [edi + 0x18]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x4d0], xmm0
call fcn.1008dce0
mov eax, dword [edi + 4]
neg eax
movd xmm0, eax
mov eax, dword [edi + 8]
cvtdq2ps xmm0, xmm0
neg eax
cmp dword [esp + 0x48], 0
addss xmm0, dword [esp + 0x4c4]
movss dword [esp + 0x4c4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esp + 0x4c8]
movss dword [esp + 0x4c8], xmm0
jne 0x100b37f4
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x100b37f4
push 0xff000000
call fcn.10096a30
jmp 0x100b3be0
cmp dword [edx + 4], 0
je 0x100b3be0
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
push ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x4b8]
push eax
test cl, 0x84
jne 0x100b3990
lea ecx, [esp + 0x4a0]
call fcn.100b2410
mov eax, dword [edi + 0x20]
xor edx, edx
mov dword [esp + 0x10], edx
test eax, eax
jle 0x100b3be0
mov eax, dword [esp + 0x38]
push edx
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x50], eax
cmp dword [edi + 0x1c], eax
jle 0x100b3979
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x18]
push ecx
push dword [esp + 0x20]
lea ecx, [esp + 0x4ac]
push eax
call fcn.100b2540
mov eax, dword [esp + 0xc]
test eax, eax
js 0x100b3963
cmp eax, ebx
jg 0x100b3963
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
test ecx, ecx
js 0x100b3963
cmp ecx, esi
jg 0x100b3963
cmp eax, ebx
jne 0x100b38bd
dec eax
mov dword [esp + 0xc], eax
cmp ecx, esi
jne 0x100b38ca
dec ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
inc eax
mov edx, dword [esp + 0xc]
inc ecx
mov ebx, 0xff
sub ebx, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
lea edi, [eax - 1]
mov dword [esp + 0x34], ebx
cmovne edi, eax
lea esi, [ecx - 1]
mov eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x30]
add eax, dword [esp + 0x48]
cmp ecx, dword [esp + 0x5c]
cmovne esi, ecx
movzx ecx, byte [eax + edi]
movzx eax, byte [eax + edx]
imul ecx, dword [esp + 0x28]
imul esi, dword [esp + 0x30]
imul eax, ebx
add esi, dword [esp + 0x48]
add ecx, eax
mov eax, 0xff
sub eax, dword [esp + 0x24]
sar ecx, 8
movzx ebx, cl
movzx ecx, byte [esi + edi]
imul ecx, dword [esp + 0x28]
imul ebx, eax
mov eax, edx
mov edi, dword [esp + 0x74]
movzx eax, byte [esi + eax]
imul eax, dword [esp + 0x34]
mov esi, dword [esp + 0x14]
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x24]
add ebx, eax
sar ebx, 8
mov byte [esi], bl
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
inc dword [esp + 0x14]
inc eax
mov dword [esp + 0x50], eax
cmp eax, dword [edi + 0x1c]
jl 0x100b3863
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [edi + 0x20]
jl 0x100b3843
jmp 0x100b3be0
test cl, cl
jns 0x100b3ab8
lea ecx, [esp + 0x84]
call fcn.100b2410
mov eax, dword [edi + 0x20]
xor edx, edx
mov dword [esp + 0x14], edx
test eax, eax
jle 0x100b3be0
mov eax, dword [esp + 0x38]
push edx
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [edi + 0x1c], eax
jle 0x100b3aa1
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x24]
lea ecx, [esp + 0x90]
push eax
call fcn.100b2540
mov ecx, dword [esp + 0x18]
test ecx, ecx
js 0x100b3a8b
cmp ecx, ebx
jg 0x100b3a8b
mov eax, dword [esp + 0x10]
test eax, eax
js 0x100b3a8b
cmp eax, esi
jg 0x100b3a8b
cmp ecx, ebx
jne 0x100b3a23
dec ecx
mov dword [esp + 0x18], ecx
cmp eax, esi
jne 0x100b3a2c
dec eax
mov dword [esp + 0x10], eax
push esi
push ebx
push dword [esp + 0x2c]
lea edx, [esp + 0x4e0]
push dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x4b0]
push eax
lea ecx, [esp + 0x500]
call fcn.100b3420
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x4b4]
mov ecx, dword [esp + 0x64]
add esp, 0x1c
push 0
push 1
sub esp, 8
push eax
lea eax, [esp + 0x4e8]
push eax
lea eax, [esp + 0x4fc]
push eax
call fcn.100b3330
mov ecx, dword [esp + 0x28]
add esp, 0x1c
mov byte [ecx], al
mov eax, dword [esp + 0x1c]
inc dword [esp + 0xc]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [edi + 0x1c]
jl 0x100b39d5
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [edi + 0x20]
jl 0x100b39b5
jmp 0x100b3be0
lea ecx, [esp + 0x4a0]
call fcn.100b2410
mov eax, dword [edi + 0x20]
xor edx, edx
mov dword [esp + 0x50], edx
test eax, eax
jle 0x100b3be0
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], edx
nop dword [eax]
mov eax, dword [esp + 0x38]
push edx
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 8]
cmp dword [edi + 0x1c], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], 0
jle 0x100b3bb8
mov eax, dword [esp + 0x4b0]
mov ecx, eax
test ecx, ecx
jns 0x100b3b13
add ecx, 1
sar ecx, 1
mov eax, dword [esp + 0x1c]
add eax, ecx
add eax, dword [esp + 0x4ac]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x14]
add eax, dword [esp + 0x4a8]
mov dword [esp + 0x18], eax
nop dword [eax + eax]
cdq
idiv dword [esp + 0x4b0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [esp + 0x4b0]
mov edx, dword [esp + 0x24]
test edx, edx
js 0x100b3b90
cmp edx, ebx
jg 0x100b3b90
test eax, eax
js 0x100b3b90
cmp eax, esi
jg 0x100b3b90
lea ecx, [eax - 1]
cmovne ecx, eax
lea eax, [edx - 1]
imul ecx, dword [esp + 0x30]
cmp edx, ebx
cmovne eax, edx
add ecx, dword [esp + 0x48]
mov al, byte [eax + ecx]
mov ecx, dword [esp + 0xc]
mov byte [ecx], al
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
inc ecx
add eax, dword [esp + 0x498]
mov edx, dword [esp + 0x49c]
inc dword [esp + 0xc]
add dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edi + 0x1c]
jl 0x100b3b40
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4a4]
inc edx
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4a0]
add dword [esp + 0x28], eax
mov dword [esp + 0x50], edx
cmp edx, dword [edi + 0x20]
jl 0x100b3ae0
mov eax, dword [edi + 0x88]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x14], ecx
cmp ecx, 1
jne 0x100b3fd5
mov ecx, dword [edi + 0x8c]
lea eax, [esp + 0x4b4]
push ecx
push eax
test cl, 0x84
jne 0x100b3d81
lea ecx, [esp + 0x84]
call fcn.100b2410
mov eax, dword [edi + 0x20]
xor ecx, ecx
mov dword [esp + 0x14], ecx
test eax, eax
jle 0x100b4e39
nop dword [eax + eax]
mov edx, dword [esp + 0x38]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x28], eax
cmp dword [edi + 0x1c], eax
jle 0x100b3d62
nop
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x18]
push ecx
push dword [esp + 0x24]
lea ecx, [esp + 0x90]
push eax
call fcn.100b2540
mov eax, dword [esp + 0xc]
test eax, eax
js 0x100b3d44
cmp eax, ebx
jg 0x100b3d44
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
test ecx, ecx
js 0x100b3d44
cmp ecx, esi
jg 0x100b3d44
cmp eax, ebx
jne 0x100b3caa
dec eax
mov dword [esp + 0xc], eax
cmp ecx, esi
jne 0x100b3cb7
dec ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], ecx
inc eax
inc ecx
mov edx, 0xff
sub edx, dword [esp + 0x1c]
cmp eax, dword [esp + 0x20]
lea edi, [eax - 1]
cmovne edi, eax
lea esi, [ecx - 1]
mov eax, dword [esp + 0x10]
imul eax, dword [esp + 0x3c]
add eax, dword [esp + 0x40]
cmp ecx, dword [esp + 0x5c]
cmovne esi, ecx
mov ecx, dword [esp + 0xc]
imul esi, dword [esp + 0x3c]
movzx ecx, byte [eax + ecx]
movzx eax, byte [eax + edi]
imul eax, dword [esp + 0x1c]
add esi, dword [esp + 0x40]
imul ecx, edx
add ecx, eax
mov eax, 0xff
sub eax, dword [esp + 0x24]
sar ecx, 8
movzx ebx, cl
imul ebx, eax
mov eax, dword [esp + 0xc]
movzx ecx, byte [esi + eax]
movzx eax, byte [esi + edi]
imul eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x74]
imul ecx, edx
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x24]
add ebx, eax
mov eax, dword [esp + 0x30]
sar ebx, 8
mov byte [eax], bl
mov eax, dword [esp + 0x28]
inc dword [esp + 0x30]
inc eax
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
cmp eax, dword [edi + 0x1c]
jl 0x100b3c50
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
inc ecx
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x14], ecx
cmp ecx, dword [edi + 0x20]
jl 0x100b3c30
jmp 0x100b4e39
test cl, cl
jns 0x100b3eac
lea ecx, [esp + 0x84]
call fcn.100b2410
mov eax, dword [edi + 0x20]
xor ecx, ecx
mov dword [esp + 0x30], ecx
test eax, eax
jle 0x100b4e39
mov edx, dword [esp + 0x38]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [edi + 0x1c], eax
jle 0x100b3e95
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x40]
lea ecx, [esp + 0x90]
push eax
call fcn.100b2540
mov ecx, dword [esp + 0x18]
test ecx, ecx
js 0x100b3e7f
cmp ecx, ebx
jg 0x100b3e7f
mov eax, dword [esp + 0x14]
test eax, eax
js 0x100b3e7f
cmp eax, esi
jg 0x100b3e7f
cmp ecx, ebx
jne 0x100b3e17
dec ecx
mov dword [esp + 0x18], ecx
cmp eax, esi
jne 0x100b3e20
dec eax
mov dword [esp + 0x14], eax
push esi
push ebx
push dword [esp + 0x2c]
lea edx, [esp + 0x4e0]
push dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x4b0]
push eax
lea ecx, [esp + 0x500]
call fcn.100b3420
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x4b4]
mov ecx, dword [esp + 0x5c]
add esp, 0x1c
push 0
push 1
sub esp, 8
push eax
lea eax, [esp + 0x4e8]
push eax
lea eax, [esp + 0x4fc]
push eax
call fcn.100b3330
mov ecx, dword [esp + 0x28]
add esp, 0x1c
mov byte [ecx], al
mov eax, dword [esp + 0x10]
inc dword [esp + 0xc]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [edi + 0x1c]
jl 0x100b3dc5
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, dword [edi + 0x20]
jl 0x100b3da6
jmp 0x100b4e39
lea ecx, [esp + 0x4a0]
call fcn.100b2410
mov eax, dword [edi + 0x20]
xor ecx, ecx
mov dword [esp + 0x28], ecx
test eax, eax
jle 0x100b4e39
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x38]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
cmp dword [edi + 0x1c], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], 0
jle 0x100b3fa8
mov eax, dword [esp + 0x4b0]
mov ecx, eax
test ecx, ecx
jns 0x100b3f03
add ecx, 1
sar ecx, 1
mov eax, dword [esp + 0x10]
add eax, ecx
add eax, dword [esp + 0x4ac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x30]
add eax, dword [esp + 0x4a8]
mov dword [esp + 0x18], eax
nop dword [eax + eax]
cdq
idiv dword [esp + 0x4b0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
cdq
idiv dword [esp + 0x4b0]
mov edx, dword [esp + 0x24]
test edx, edx
js 0x100b3f80
cmp edx, ebx
jg 0x100b3f80
test eax, eax
js 0x100b3f80
cmp eax, esi
jg 0x100b3f80
lea ecx, [eax - 1]
cmovne ecx, eax
lea eax, [edx - 1]
imul ecx, dword [esp + 0x3c]
cmp edx, ebx
cmovne eax, edx
add ecx, dword [esp + 0x40]
mov al, byte [eax + ecx]
mov ecx, dword [esp + 0xc]
mov byte [ecx], al
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
inc ecx
add eax, dword [esp + 0x498]
mov edx, dword [esp + 0x49c]
inc dword [esp + 0xc]
add dword [esp + 0x14], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edi + 0x1c]
jl 0x100b3f30
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x4a4]
inc ecx
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x4a0]
add dword [esp + 0x1c], eax
mov dword [esp + 0x28], ecx
cmp ecx, dword [edi + 0x20]
jl 0x100b3ed1
jmp 0x100b4e39
mov eax, dword [eax + 0x10]
cdq
and edx, 7
lea ecx, [edx + eax]
mov eax, dword [esp + 0x38]
sar ecx, 3
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 0x10]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 1
jne 0x100b4616
mov eax, dword [edi + 0x88]
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x100b4027
mov ecx, 0x100
lea edi, [esp + 0x98]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x74]
jmp 0x100b41ab
test byte [esp + 0x14], 4
je 0x100b40c9
movaps xmm2, xmmword [0x103a6850]
lea edx, [esp + 0xa8]
movaps xmm3, xmmword [0x103a68c0]
mov ecx, 8
lea esi, [ecx + 8]
nop
lea eax, [ecx - 8]
movaps xmm1, xmm3
movd xmm0, eax
lea edx, [edx + 0x40]
pshufd xmm0, xmm0, 0
lea eax, [ecx - 4]
paddd xmm0, xmm2
psubd xmm1, xmm0
movd xmm0, eax
movups xmmword [edx - 0x50], xmm1
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
movaps xmm1, xmm3
paddd xmm0, xmm2
psubd xmm1, xmm0
movd xmm0, ecx
movups xmmword [edx - 0x40], xmm1
add ecx, 0x10
pshufd xmm0, xmm0, 0
movaps xmm1, xmm3
paddd xmm0, xmm2
psubd xmm1, xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
movups xmmword [edx - 0x30], xmm1
movaps xmm1, xmm3
psubd xmm1, xmm0
movups xmmword [edx - 0x20], xmm1
sub esi, 1
jne 0x100b4050
jmp 0x100b41ab
cmp dword [0x103bf398], 2
jl 0x100b417e
movaps xmm1, xmmword [0x103a6850]
lea edx, [esp + 0xa8]
movaps xmm3, xmmword [0x103a6940]
mov ecx, 8
movaps xmm2, xmmword [0x103a6bf0]
lea esi, [ecx + 8]
nop word [eax + eax]
lea eax, [ecx - 8]
movd xmm0, eax
lea edx, [edx + 0x40]
pshufd xmm0, xmm0, 0
lea eax, [ecx - 4]
paddd xmm0, xmm1
pmulld xmm0, xmm3
por xmm0, xmm2
movups xmmword [edx - 0x50], xmm0
movd xmm0, eax
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
pmulld xmm0, xmm3
por xmm0, xmm2
movups xmmword [edx - 0x40], xmm0
movd xmm0, ecx
add ecx, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
pmulld xmm0, xmm3
por xmm0, xmm2
movups xmmword [edx - 0x30], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
pmulld xmm0, xmm3
por xmm0, xmm2
movups xmmword [edx - 0x20], xmm0
sub esi, 1
jne 0x100b4100
jmp 0x100b41ab
xor ecx, ecx
lea edx, [esp + 0x98]
nop word [eax + eax]
mov eax, ecx
lea edx, [edx + 4]
or eax, 0xff000000
add ecx, 0x10101
mov dword [edx - 4], eax
cmp ecx, 0x1010100
jl 0x100b4190
mov eax, dword [edi + 0x8c]
mov esi, dword [edi + 0x20]
push ecx
test al, 0x84
jne 0x100b436b
lea eax, [esp + 0x4b8]
push eax
lea ecx, [esp + 0x84]
call fcn.100b2410
xor esi, esi
mov dword [esp + 0x14], esi
cmp dword [edi + 0x20], esi
jle 0x100b4e39
mov ecx, dword [esp + 0x38]
push esi
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x28], eax
cmp dword [edi + 0x1c], eax
jle 0x100b4354
nop dword [eax]
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x18]
push ecx
push esi
push eax
lea ecx, [esp + 0x94]
call fcn.100b2540
mov ecx, dword [esp + 0xc]
test ecx, ecx
js 0x100b4336
cmp ecx, ebx
jg 0x100b4336
mov esi, dword [esp + 0x18]
test esi, esi
js 0x100b4332
mov eax, dword [esp + 0x5c]
cmp esi, eax
jg 0x100b4332
cmp ecx, ebx
jne 0x100b4257
dec ecx
mov dword [esp + 0xc], ecx
cmp esi, eax
jne 0x100b4260
dec esi
mov dword [esp + 0x18], esi
mov edx, dword [esp + 0xc]
lea eax, [ecx + 1]
lea edi, [eax - 1]
mov ebx, 0xff
sub ebx, dword [esp + 0x1c]
lea ecx, [esi + 1]
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x64], ebx
cmovne edi, eax
imul esi, dword [esp + 0x3c]
add esi, dword [esp + 0x40]
cmp ecx, dword [esp + 0x5c]
mov dword [esp + 0x24], esi
lea esi, [ecx - 1]
mov eax, dword [esp + 0x24]
cmovne esi, ecx
imul esi, dword [esp + 0x3c]
movzx ecx, byte [eax + edi]
movzx eax, byte [edx + eax]
imul ecx, dword [esp + 0x1c]
add esi, dword [esp + 0x40]
imul eax, ebx
add ecx, eax
mov eax, 0xff
sub eax, dword [esp + 0x34]
sar ecx, 8
movzx ebx, cl
movzx ecx, byte [esi + edi]
imul ecx, dword [esp + 0x1c]
imul ebx, eax
mov eax, edx
movzx eax, byte [eax + esi]
imul eax, dword [esp + 0x64]
mov esi, dword [esp + 0x14]
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x34]
add ebx, eax
sar ebx, 8
cmp dword [esp + 0x58], 0x218
movzx eax, bl
mov ecx, dword [esp + eax*4 + 0x98]
jne 0x100b4326
mov edi, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x18
mov byte [edi], al
mov eax, ecx
shr eax, 0x10
shr ecx, 8
mov byte [edi + 1], al
mov byte [edi + 2], cl
mov edi, dword [esp + 0x74]
jmp 0x100b4336
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x74]
mov dword [eax], ecx
jmp 0x100b4336
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [edi + 0x1c]
jl 0x100b4200
mov ebx, dword [esp + 0x20]
inc esi
mov dword [esp + 0x14], esi
cmp esi, dword [edi + 0x20]
jl 0x100b41e0
jmp 0x100b4e39
test al, al
lea eax, [esp + 0x4b8]
push eax
jns 0x100b44c8
lea ecx, [esp + 0x84]
call fcn.100b2410
xor ecx, ecx
mov dword [esp + 0xc], ecx
test esi, esi
jle 0x100b4e39
mov edx, dword [esp + 0x38]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
mov esi, eax
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [edi + 0x1c], eax
jle 0x100b44b1
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x1c]
lea ecx, [esp + 0x90]
push eax
call fcn.100b2540
mov edx, dword [esp + 0x18]
test edx, edx
js 0x100b449b
cmp edx, ebx
jg 0x100b449b
mov ecx, dword [esp + 0x14]
test ecx, ecx
js 0x100b449b
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jg 0x100b449b
cmp edx, ebx
jne 0x100b440c
dec edx
mov dword [esp + 0x18], edx
cmp ecx, eax
jne 0x100b4415
dec ecx
mov dword [esp + 0x14], ecx
push eax
push ebx
push dword [esp + 0x2c]
lea eax, [esp + 0x4a4]
push dword [esp + 0x40]
push ecx
push edx
push eax
lea edx, [esp + 0x4f0]
lea ecx, [esp + 0x500]
call fcn.100b3420
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x4b4]
mov ecx, dword [esp + 0x5c]
add esp, 0x1c
push 0
push 1
sub esp, 8
push eax
lea eax, [esp + 0x4e8]
push eax
lea eax, [esp + 0x4fc]
push eax
call fcn.100b3330
movzx eax, al
add esp, 0x1c
cmp dword [esp + 0x58], 0x218
mov ecx, dword [esp + eax*4 + 0x98]
jne 0x100b4499
mov eax, ecx
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
shr ecx, 8
mov byte [esi + 1], al
mov byte [esi + 2], cl
jmp 0x100b449b
mov dword [esi], ecx
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x30]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [edi + 0x1c]
jl 0x100b43b2
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, dword [edi + 0x20]
jl 0x100b4395
jmp 0x100b4e39
lea ecx, [esp + 0x4a0]
call fcn.100b2410
xor ecx, ecx
mov dword [esp + 0x28], ecx
test esi, esi
jle 0x100b4e39
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
nop word [eax + eax]
mov edx, dword [esp + 0x38]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
cmp dword [edi + 0x1c], 0
mov esi, eax
mov dword [esp + 0x18], 0
jle 0x100b45e9
mov eax, dword [esp + 0x4b0]
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x4ac]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x4a8]
add ecx, eax
mov dword [esp + 0x1c], ecx
nop
mov eax, ecx
cdq
idiv dword [esp + 0x4b0]
mov ecx, eax
mov eax, dword [esp + 0xc]
cdq
idiv dword [esp + 0x4b0]
mov dword [esp + 0x24], ecx
mov edx, eax
test ecx, ecx
js 0x100b45b9
cmp ecx, ebx
jg 0x100b45b9
test edx, edx
js 0x100b45b9
cmp edx, dword [esp + 0x5c]
jg 0x100b45b9
lea ecx, [edx - 1]
cmovne ecx, edx
mov edx, dword [esp + 0x24]
imul ecx, dword [esp + 0x3c]
cmp edx, ebx
lea eax, [edx - 1]
cmovne eax, edx
add ecx, dword [esp + 0x40]
cmp dword [esp + 0x58], 0x218
movzx eax, byte [eax + ecx]
mov ecx, dword [esp + eax*4 + 0x98]
jne 0x100b45b7
mov eax, ecx
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
shr ecx, 8
mov byte [esi + 1], al
mov byte [esi + 2], cl
jmp 0x100b45b9
mov dword [esi], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
add ecx, dword [esp + 0x498]
mov edx, dword [esp + 0x49c]
add esi, dword [esp + 0x30]
add dword [esp + 0xc], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [edi + 0x1c]
jl 0x100b4540
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x4a4]
inc ecx
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x4a0]
add dword [esp + 0x10], eax
mov dword [esp + 0x28], ecx
cmp ecx, dword [edi + 0x20]
jl 0x100b44f0
jmp 0x100b4e39
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x8c]
shr eax, 1
and eax, 1
mov dword [esp + 0x14], eax
lea eax, [esp + 0x4b4]
push ecx
push eax
test cl, 0x84
jne 0x100b4a2d
lea ecx, [esp + 0x84]
call fcn.100b2410
mov eax, dword [edi + 0x20]
xor ecx, ecx
mov dword [esp + 0x18], ecx
test eax, eax
jle 0x100b4e39
mov edx, dword [esp + 0x38]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x24], eax
cmp dword [edi + 0x1c], eax
jle 0x100b4a0e
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x84]
push ecx
push dword [esp + 0x28]
lea ecx, [esp + 0x90]
push eax
call fcn.100b2540
mov edx, dword [esp + 0x78]
test edx, edx
js 0x100b49e8
cmp edx, ebx
jg 0x100b49e8
mov eax, dword [esp + 0x64]
mov dword [esp + 0x68], eax
test eax, eax
js 0x100b49e8
cmp eax, esi
jg 0x100b49e8
cmp edx, ebx
jne 0x100b46d4
dec edx
mov dword [esp + 0x78], edx
cmp eax, esi
jne 0x100b46e1
dec eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
mov edi, dword [esp + 0x68]
lea ecx, [edx + 1]
imul edi, dword [esp + 0x3c]
inc eax
cmp eax, esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x68], edi
lea edi, [eax - 1]
cmovne edi, eax
imul edx, dword [esp + 0x6c]
imul edi, dword [esp + 0x3c]
mov eax, 0xff
sub eax, dword [esp + 0x4c]
cmp ecx, ebx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x28], edi
lea edi, [ecx - 1]
cmovne edi, ecx
mov edx, dword [esp + 0x28]
imul edi, dword [esp + 0x6c]
add eax, esi
mov ecx, 0xff
add edx, esi
sub ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], edi
movzx ecx, byte [eax + edi + 2]
imul ecx, dword [esp + 0x4c]
movzx eax, byte [eax + ebx + 2]
imul eax, dword [esp + 0x54]
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x1c]
movzx ecx, byte [edx + edi + 2]
imul ecx, dword [esp + 0x4c]
mov dword [esp + 0x50], eax
movzx eax, byte [edx + ebx + 2]
imul eax, dword [esp + 0x54]
mov edx, dword [esp + 0x28]
add edx, esi
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x50]
add ecx, eax
mov eax, dword [esp + 0x68]
sar ecx, 8
add eax, esi
mov dword [esp + 0x50], ecx
movzx ecx, byte [eax + ebx + 1]
imul ecx, dword [esp + 0x54]
movzx eax, byte [eax + edi + 1]
imul eax, dword [esp + 0x4c]
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x1c]
movzx ecx, byte [edx + ebx + 1]
imul ecx, dword [esp + 0x54]
mov dword [esp + 0x48], eax
movzx eax, byte [edx + edi + 1]
imul eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x28]
add edx, esi
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x48]
add ecx, eax
mov eax, dword [esp + 0x68]
add eax, esi
sar ecx, 8
mov dword [esp + 0x48], ecx
movzx ecx, byte [eax + ebx]
imul ecx, dword [esp + 0x54]
movzx eax, byte [eax + edi]
imul eax, dword [esp + 0x4c]
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x1c]
movzx ecx, byte [edx + ebx]
imul ecx, dword [esp + 0x54]
mov dword [esp + 0x10], eax
movzx eax, byte [edx + edi]
imul eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x74]
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
add ecx, eax
sar ecx, 8
cmp dword [esp + 0x14], 0
mov dword [esp + 0x10], ecx
je 0x100b4923
mov eax, dword [esp + 0x58]
cmp eax, 0x220
je 0x100b4931
cmp eax, 0x218
jne 0x100b4896
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
mov byte [eax + 1], dl
mov edx, dword [esp + 0x50]
mov byte [eax], cl
mov byte [eax + 2], dl
jmp 0x100b49ec
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x28]
add eax, esi
add edx, esi
mov esi, dword [esp + 0xc]
movzx ecx, byte [eax + ebx + 3]
movzx eax, byte [eax + esi + 3]
imul ecx, dword [esp + 0x54]
imul eax, dword [esp + 0x4c]
add ecx, eax
mov eax, dword [esp + 0x34]
sar ecx, 8
movzx ebx, cl
imul ebx, dword [esp + 0x1c]
movzx ecx, byte [edx + eax + 3]
imul ecx, dword [esp + 0x54]
movzx eax, byte [edx + esi + 3]
imul eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x70]
add ebx, eax
movzx eax, dl
mov edx, dword [esp + 0x48]
sar ebx, 8
movzx ecx, bl
shl ecx, 8
or ecx, eax
movzx eax, dl
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, al
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x60]
mov dword [eax], ecx
jmp 0x100b49ec
cmp dword [esp + 0x58], 0x620
jne 0x100b49bb
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x28]
mov edx, dword [esp + 0xc]
add esi, dword [esp + 0x68]
movzx ecx, byte [eax + ebx + 3]
movzx eax, byte [eax + edx + 3]
imul ecx, dword [esp + 0x54]
imul eax, dword [esp + 0x4c]
add ecx, eax
mov eax, dword [esp + 0xc]
sar ecx, 8
movzx edx, cl
movzx ecx, byte [esi + ebx + 3]
movzx eax, byte [esi + eax + 3]
imul ecx, dword [esp + 0x54]
imul eax, dword [esp + 0x4c]
imul edx, dword [esp + 0x70]
add ecx, eax
sar ecx, 8
movzx eax, cl
imul eax, dword [esp + 0x1c]
add edx, eax
sar edx, 8
movzx ecx, dl
mov edx, dword [esp + 0x50]
shl ecx, 8
movzx eax, dl
mov edx, dword [esp + 0x48]
or ecx, eax
shl ecx, 8
movzx eax, dl
or ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, al
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x60]
mov dword [eax], ecx
jmp 0x100b49ec
mov edx, dword [esp + 0x50]
movzx ecx, dl
mov edx, dword [esp + 0x48]
or ecx, 0xffffff00
shl ecx, 8
movzx eax, dl
or ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, al
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x60]
mov dword [eax], ecx
jmp 0x100b49ec
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [edi + 0x1c]
jl 0x100b4677
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
inc ecx
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x18], ecx
cmp ecx, dword [edi + 0x20]
jl 0x100b4658
jmp 0x100b4e39
test cl, cl
jns 0x100b4c90
lea ecx, [esp + 0x84]
call fcn.100b2410
mov eax, dword [edi + 0x20]
xor ecx, ecx
mov dword [esp + 0x18], ecx
test eax, eax
jle 0x100b4e39
mov edx, dword [esp + 0x38]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x64], eax
cmp dword [edi + 0x1c], eax
jle 0x100b4c79
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x30]
push ecx
push dword [esp + 0x28]
lea ecx, [esp + 0x90]
push eax
call fcn.100b2540
mov ecx, dword [esp + 0x24]
test ecx, ecx
js 0x100b4c5b
cmp ecx, ebx
jg 0x100b4c5b
mov eax, dword [esp + 0x34]
test eax, eax
js 0x100b4c5b
cmp eax, esi
jg 0x100b4c5b
cmp ecx, ebx
jne 0x100b4ac7
dec ecx
mov dword [esp + 0x24], ecx
cmp eax, esi
jne 0x100b4ad0
dec eax
mov dword [esp + 0x34], eax
push esi
push ebx
push dword [esp + 0x80]
lea edx, [esp + 0x4a4]
push dword [esp + 0x18]
push eax
push ecx
lea eax, [esp + 0x4ec]
push eax
lea ecx, [esp + 0x4d0]
call fcn.100b3420
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x4f0]
mov ecx, dword [esp + 0x5c]
add esp, 0x1c
push 2
push dword [esp + 0x70]
sub esp, 8
push eax
lea eax, [esp + 0x4ac]
push eax
lea eax, [esp + 0x4cc]
push eax
call fcn.100b3330
mov edx, dword [esp + 0x58]
add esp, 0x1c
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x2e], al
lea eax, [esp + 0x4d4]
push 1
push dword [esp + 0x70]
sub esp, 8
push eax
lea eax, [esp + 0x4ac]
push eax
lea eax, [esp + 0x4cc]
push eax
call fcn.100b3330
mov edx, dword [esp + 0x58]
add esp, 0x1c
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x2f], al
lea eax, [esp + 0x4d4]
push 0
push dword [esp + 0x70]
sub esp, 8
push eax
lea eax, [esp + 0x4ac]
push eax
lea eax, [esp + 0x4cc]
push eax
call fcn.100b3330
add esp, 0x1c
mov dh, al
cmp dword [esp + 0x14], 0
mov byte [esp + 0x47], dh
je 0x100b4bd0
mov eax, dword [esp + 0x58]
cmp eax, 0x220
je 0x100b4bda
cmp eax, 0x218
jne 0x100b4bda
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 0x2f]
mov byte [eax + 1], dl
mov dl, byte [esp + 0x2e]
mov byte [eax], dh
mov byte [eax + 2], dl
jmp 0x100b4c5f
cmp dword [esp + 0x58], 0x620
jne 0x100b4c34
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x4d4]
mov ecx, dword [esp + 0x40]
push 3
push dword [esp + 0x70]
sub esp, 8
push eax
lea eax, [esp + 0x4ac]
push eax
lea eax, [esp + 0x4cc]
push eax
call fcn.100b3330
movzx ecx, al
add esp, 0x1c
movzx eax, byte [esp + 0x2e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x2f]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x47]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
jmp 0x100b4c5f
movzx ecx, byte [esp + 0x2e]
mov dl, byte [esp + 0x2f]
or ecx, 0xffffff00
shl ecx, 8
movzx eax, dl
or ecx, eax
movzx eax, dh
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
jmp 0x100b4c5f
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
cmp eax, dword [edi + 0x1c]
jl 0x100b4a71
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, dword [edi + 0x20]
jl 0x100b4a52
jmp 0x100b4e39
lea ecx, [esp + 0x4a0]
call fcn.100b2410
mov eax, dword [edi + 0x20]
xor ecx, ecx
mov dword [esp + 0x64], ecx
test eax, eax
jle 0x100b4e39
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x38]
push ecx
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
cmp dword [edi + 0x1c], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0
jle 0x100b4e11
mov eax, dword [esp + 0x4b0]
mov ecx, eax
test ecx, ecx
jns 0x100b4ce7
add ecx, 1
sar ecx, 1
mov eax, dword [esp + 0x10]
add eax, ecx
add eax, dword [esp + 0x4ac]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x20]
add eax, dword [esp + 0x4a8]
mov dword [esp + 0x34], eax
nop
cdq
idiv dword [esp + 0x4b0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
cdq
idiv dword [esp + 0x4b0]
mov edx, eax
mov eax, dword [esp + 0xc]
test eax, eax
js 0x100b4dd9
cmp eax, ebx
jg 0x100b4dd9
test edx, edx
js 0x100b4dd9
cmp edx, esi
jg 0x100b4dd9
lea eax, [edx - 1]
cmovne eax, edx
mov edx, dword [esp + 0xc]
imul eax, dword [esp + 0x3c]
dec edx
cmp dword [esp + 0xc], ebx
cmovne edx, dword [esp + 0xc]
imul edx, dword [esp + 0x6c]
add eax, dword [esp + 0x40]
add edx, eax
cmp dword [esp + 0x14], 0
je 0x100b4d9d
mov eax, dword [esp + 0x58]
cmp eax, 0x220
je 0x100b4da7
cmp eax, 0x218
jne 0x100b4da7
mov al, byte [edx]
mov byte [ecx], al
mov al, byte [edx + 1]
mov byte [ecx + 1], al
mov al, byte [edx + 2]
mov byte [ecx + 2], al
jmp 0x100b4dd9
cmp dword [esp + 0x58], 0x620
jne 0x100b4db6
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
jmp 0x100b4dc0
movzx ecx, byte [edx + 2]
or ecx, 0xffffff00
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov ecx, eax
mov edi, dword [esp + 0x49c]
add dword [esp + 0x18], edi
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x74]
inc edx
mov eax, dword [esp + 0x34]
add ecx, dword [esp + 0x30]
add eax, dword [esp + 0x498]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], eax
cmp edx, dword [edi + 0x1c]
jl 0x100b4d10
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x4a4]
inc ecx
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x4a0]
add dword [esp + 0x1c], eax
mov dword [esp + 0x64], ecx
cmp ecx, dword [edi + 0x20]
jl 0x100b4cb5
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x100b4e49
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x38]
mov dword [edi + 0x88], eax
mov ecx, dword [esp + 0x504]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret 4