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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xffffffc0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1057d246
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xea8
mov eax, dword [0x10a78b80]
xor eax, ebp
mov dword [ebp - 0x44], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xd88], edi
cmp byte [edi + 0xa589], 0
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xd60], esi
mov dword [ebp - 0xde4], eax
jne 0x104e4733
lea eax, [esi + 0x18c57bc]
push eax
call fcn.104ede90
test al, al
jne 0x104e4733
cmp byte [esi + 0x18e0684], al
je 0x104e1db2
mov eax, dword [0x10ac31f4]
test eax, eax
je 0x104e1db2
mov eax, dword [eax + 0x3c]
call eax
call fcn.10509d60
push dword [esi + 0x18e0680]
lea ecx, [edi + 0x2e0]
mov dword [ebp - 0xde0], eax
push 0x100
mov dword [ebp - 0xdc0], edx
call fcn.104a2cd0
mov esi, dword [esi + 0x18c57ac]
mov dword [ebp - 0xdec], eax
test esi, esi
je 0x104e1e16
mov eax, dword [ebp - 0xd60]
push 0
mov edx, dword [eax + 0x18c57b4]
movzx ecx, word [edx + 0xc]
push dword [edx]
imul ecx, ecx, 0x70
push esi
push 0
push dword [edi + 0xa570]
add ecx, 0xa5d8
add ecx, edi
call fcn.104ebc20
mov eax, dword [ebp - 0xd60]
mov esi, dword [eax + 0x18c57b0]
test esi, esi
je 0x104e1e51
mov edx, dword [eax + 0x18c57b8]
push 0
movzx ecx, word [edx + 0xe]
push dword [edx]
mov eax, ecx
shl eax, 4
sub eax, ecx
push esi
add eax, 0xf4bb
push 0
push dword [edi + 0xa570]
lea ecx, [edi + eax*8]
call fcn.104ebc20
mov esi, dword [ebp - 0xd60]
mov ecx, esi
call fcn.104deb40
mov eax, 0xffff
xorps xmm0, xmm0
push esi
mov ecx, 0x10b2b440
mov dword [ebp - 0xde8], eax
mov dword [ebp - 0xda4], eax
mov word [ebp - 0x2dc], ax
movlpd qword [ebp - 0x320], xmm0
movlpd qword [ebp - 0x318], xmm0
call fcn.104d7000
mov ecx, dword [esi + 0x18c57d0]
mov eax, 0xffff
mov word [ebp - 0xdbc], ax
mov dword [ebp - 0xe24], eax
xor eax, eax
mov word [ebp - 0xe9c], ax
mov eax, dword [esi + 0x14ac700]
mov word [ebp - 0xea0], ax
shr eax, 0x18
mov word [ebp - 0xe9e], ax
mov eax, ecx
and eax, 1
mov dword [ebp - 0xdd8], 0xffff
mov edx, eax
mov dword [ebp - 0xdc8], 0
neg edx
mov byte [ebp - 0xd65], 0
mov byte [ebp - 0xd5b], 0
lea eax, [eax + eax*4]
mov dword [ebp - 0xdcc], 0
movups xmm0, xmmword [eax*8 + 0x10a2f290]
mov eax, dword [eax*8 + 0x10a2f2a0]
sbb dl, dl
mov dword [ebp - 0xd90], eax
and edx, 0xffffff02
xor eax, eax
shr cl, 4
mov dword [ebp - 0xdb0], eax
and cl, 1
mov dword [ebp - 0xdac], eax
mov eax, dword [0x10ac2ed4]
mov dword [ebp - 0xe5c], eax
lea eax, [edi + 0x2e0]
movups xmmword [ebp - 0xeb8], xmm0
mov dword [ebp - 0xe7c], eax
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0xea4], esi
mov dword [ebp - 0xe34], 0
mov dword [ebp - 0xdd4], edx
mov byte [ebp - 0xd5c], 0
mov byte [ebp - 0xd81], 0
mov byte [ebp - 0xd71], 0
movups xmmword [ebp - 0x190], xmm0
mov dword [ebp - 0xe44], 0
movq qword [ebp - 0x180], xmm0
movups xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0xe84], 0x10af3280
movq qword [ebp - 0x150], xmm0
movups xmmword [ebp - 0x178], xmm0
mov dword [ebp - 0xe80], esi
movq qword [ebp - 0x168], xmm0
movlpd qword [ebp - 0xe4c], xmm0
mov dword [ebp - 0xe78], 0xffffffff
mov word [ebp - 0xe74], ax
mov byte [ebp - 0xe72], cl
mov ecx, dword [edi + 0x1c0]
mov dword [ebp - 4], eax
test ecx, ecx
je 0x104e2001
mov eax, dword [ecx]
push ecx
call dword [eax + 0x90]
jmp 0x104e200b
mov eax, dword [edi + 0x1c811c]
inc eax
and eax, 3
lea esi, [eax + eax*2]
mov dword [edi + 0x1c811c], eax
shl esi, 4
lea edx, [ebp - 0xdfc]
add esi, 0x7d90
add esi, edi
push edx
mov dword [ebp - 0xd80], esi
mov ecx, dword [esi]
mov dword [esi + 0x2c], 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0x24]
mov ecx, dword [esi]
lea edx, [ebp - 0xe30]
push edx
push ecx
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov eax, dword [ecx]
call dword [eax + 0x28]
xorps xmm0, xmm0
mov dword [ebp - 0xd9c], 0
movlpd qword [ebp - 0xe58], xmm0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0xd9c]
push eax
mov dword [esi + 0x18], ecx
lea eax, [ebp - 0xd54]
push 9
push eax
mov dword [ebp - 0xd58], 0
mov dword [ebp - 0xd4c], 0
mov dword [ebp - 0xd50], 0
mov dword [ebp - 0xd54], 0
call fcn.104952b0
push 0x100
lea eax, [ebp - 0xd44]
mov byte [ebp - 4], 1
push 0xff
push eax
call fcn.1050a0a0
add esp, 0x18
mov dword [ebp - 0xd48], 0xffffffff
mov dword [ebp - 0xc44], 0x400000
lea ecx, [ebp - 0xc40]
xor eax, eax
mov word [ecx], ax
lea ecx, [ecx + 2]
inc eax
cmp ax, 0x40
jb 0x104e20e5
push 0x100
lea eax, [ebp - 0xd44]
push 0xff
push eax
call fcn.1050a0a0
movzx edx, word [ebp - 0xc42]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0xd48], 0xffffffff
add esp, 0xc
mov word [ebp - 0xc44], ax
cmp cx, dx
jae 0x104e213e
lea ecx, [ebp - 0xc40]
mov word [ecx], ax
lea ecx, [ecx + 2]
inc eax
cmp ax, dx
jb 0x104e2132
mov eax, dword [edi + 0x1c4]
mov byte [ebp - 4], 2
test eax, eax
je 0x104e2183
push 4
push 0x2000
push eax
push dword [edi + 0xa570]
call fcn.104dc8c0
mov eax, dword [edi + 0x1c811c]
push 0x1000
push 0
push dword [edi + eax*4 + 0x7d58]
push dword [edi + 0xa570]
call fcn.104dc8c0
add esp, 0x20
jmp 0x104e21ab
cmp dword [edi + 0x1c0], 0
je 0x104e21ab
mov eax, dword [edi + 0x1c811c]
push 4
push 0
push dword [edi + eax*4 + 0x7d58]
push dword [edi + 0xa570]
call fcn.104dc8c0
add esp, 0x10
mov eax, dword [ebp - 0xd60]
test dword [eax + 0x18c57d0], 2
jne 0x104e3a6b
mov eax, 0xffff
mov ecx, edi
push 1
mov word [ebp - 0xd9c], ax
push dword [ebp - 0xd9c]
call fcn.104da420
lea eax, [edi + 0x96b0]
push 0x10
mov dword [ebp - 0xd9c], eax
lea eax, [edi + 0xa550]
push 0
push eax
call fcn.1050a0a0
push 0x80
lea eax, [edi + 0xa4d0]
push 0
push eax
call fcn.1050a0a0
mov edx, dword [ebp - 0xd60]
add esp, 0x18
mov dword [ebp - 0xdb8], 0
mov eax, dword [edx + 0x310]
mov ecx, dword [edx + 0x314]
mov dword [0x10b33444], eax
mov dword [0x10b33448], ecx
mov eax, dword [edx + 0x18c57a4]
mov dword [ebp - 0xdfc], eax
test eax, eax
jle 0x104e3a0b
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0xdb4], eax
mov eax, dword [ebp - 0xeb8]
mov dword [ebp - 0xddc], eax
jmp 0x104e2276
mov edx, dword [ebp - 0xd60]
mov esi, dword [ebp - 0xdb8]
lea ecx, [ebp - 0x54]
push edx
push dword [edx + esi*8 + 0xc704]
push dword [edx + esi*8 + 0xc700]
call fcn.104b40c0
movzx ecx, al
mov byte [ebp - 0xd59], al
mov eax, dword [ebp - 0xe24]
inc dword [ebp + ecx*4 - 0xe4c]
cmp word [ebp - 0x4a], ax
mov eax, dword [ebp - 0xd60]
setne dl
mov byte [ebp - 0xd5a], dl
movzx ecx, word [eax + esi*2 + 0x8c700]
inc esi
mov dword [ebp - 0xdb8], esi
mov esi, dword [ebp - 0xd80]
lea eax, [ecx + 0x158e]
shl eax, 7
add eax, dword [ebp - 0xd60]
mov dword [ebp - 0xd8c], eax
lea eax, [ecx + ecx*2]
mov ecx, dword [ebp - 0xd60]
shl eax, 6
add ecx, 0x8ac700
add eax, ecx
mov dword [ebp - 0xd64], eax
test dl, dl
je 0x104e25f9
mov esi, dword [edi + 0xa570]
lea ecx, [edi + 0x96b0]
push 0
push esi
call fcn.104b9970
push 1
push esi
lea ecx, [edi + 0x96b0]
call fcn.104b9970
push 0x80
lea eax, [edi + 0xa4d0]
push 0
push eax
call fcn.1050a0a0
add esp, 0xc
mov ecx, edi
call fcn.104cf710
cmp dword [ebp - 0xdb8], 1
mov esi, dword [ebp - 0x4a]
movzx eax, si
mov dword [ebp - 0xe24], eax
movzx eax, ax
mov dword [ebp - 0xd90], eax
mov eax, 0xffff
mov byte [ebp - 0xd5b], 1
mov dword [ebp - 0xdcc], 0
mov dword [ebp - 0xdd8], 0xffff
mov dword [ebp - 0xdbc], eax
mov byte [ebp - 0xd65], 0
jle 0x104e239d
lea ecx, [ebp - 0xe84]
call fcn.104b7420
push closesocket
push 0x10a42eb0
call fcn.1050b4f0
add esp, 8
lea ecx, [ebp - 0xe84]
push esi
call fcn.104a24a0
mov ecx, dword [ebp - 0xd90]
movzx eax, cx
mov ecx, edi
push 1
lea eax, [eax + eax*2]
shl eax, 6
add eax, dword [ebp - 0xd60]
mov dword [ebp - 0xda0], eax
mov ax, word [eax + 0x3a0]
mov word [ebp - 0xe88], ax
push dword [ebp - 0xe88]
call fcn.104da420
mov edi, dword [ebp - 0xda0]
mov eax, dword [edi + 0x310]
lea esi, [edi + 0x310]
mov ecx, dword [esi + 4]
mov dword [0x10b33444], eax
mov dword [0x10b33448], ecx
cmp dword [edi + 0x318], 0
jne 0x104e2429
cmp dword [edi + 0x31c], 0
jne 0x104e2429
xor al, al
jmp 0x104e242b
mov al, 1
mov byte [ebp - 0xd81], al
movzx eax, al
mov edx, dword [edi + eax*8 + 0x310]
mov ecx, edx
mov eax, dword [edi + eax*8 + 0x314]
mov dword [ebp - 0xd70], eax
mov dword [ebp - 0xdac], eax
shrd ecx, eax, 0x10
movzx eax, word [esi]
movzx edi, cx
movzx ecx, dx
mov dword [ebp - 0xdd0], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xdb0], edx
lea edx, [ebp - 0x2a8]
push edx
push 1
mov dword [ebp - 0xddc], edi
movzx edi, di
movss dword [ebp - 0x2a8], xmm0
movzx eax, word [esi + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2a4], xmm0
movzx eax, word [esi + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2a0], xmm0
movzx eax, word [esi + 6]
movzx esi, cx
mov ecx, dword [ebp - 0xd88]
mov dword [ebp - 0x298], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov ecx, dword [ecx + 0xa570]
mov dword [ebp - 0x294], 0x3f800000
push ecx
movss dword [ebp - 0x29c], xmm0
mov eax, dword [ecx]
call dword [eax + 0x54]
mov edx, dword [ebp - 0xd70]
mov eax, esi
mov dword [ebp - 0x94], eax
mov eax, edi
mov edi, dword [ebp - 0xd88]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xdd0]
movzx ecx, dx
movzx eax, ax
add ecx, eax
shr edx, 0x10
mov eax, dword [ebp - 0xddc]
movzx eax, ax
add edx, eax
mov dword [ebp - 0x8c], ecx
mov ecx, dword [edi + 0xa570]
mov dword [ebp - 0x88], edx
lea edx, [ebp - 0x94]
push edx
push 1
mov eax, dword [ecx]
push ecx
call dword [eax + 0x58]
mov ecx, dword [ebp - 0xd90]
movzx eax, cx
add eax, 4
mov byte [ebp - 0xd71], 0
lea esi, [eax + eax*2]
xor eax, eax
shl esi, 6
add esi, dword [ebp - 0xd60]
cmp ax, word [esi + 0xe]
je 0x104e25b7
mov edx, dword [ebp - 0xda0]
add edx, 0x310
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp - 0xe94], eax
lea eax, [ebp - 0xdb0]
push eax
mov dword [ebp - 0xe90], ecx
lea ecx, [ebp - 0xe94]
push edx
call fcn.104dbcd0
mov eax, dword [ebp - 0xd60]
mov ecx, edi
add eax, 0x200
push eax
push esi
lea eax, [ebp - 0xe94]
push eax
call fcn.104a5be0
mov eax, dword [0x10a2f304]
mov ecx, edi
movups xmm0, xmmword [0x10a2f2f4]
mov dword [ebp - 0xd90], eax
lea eax, [ebp - 0xea4]
push dword [ebp - 0x4a]
movups xmmword [ebp - 0xeb8], xmm0
push eax
call fcn.104ea760
mov eax, dword [ebp - 0xeb8]
mov esi, dword [ebp - 0xd80]
mov dl, byte [ebp - 0xd5a]
mov dword [ebp - 0xddc], eax
cmp byte [ebp - 0xd59], 0
je 0x104e2c6e
cmp byte [ebp - 0xd5c], 0
jne 0x104e262a
push closesocket
push 0x10a42eb4
mov byte [ebp - 0xd5c], 1
call fcn.1050b4f0
add esp, 8
jmp 0x104e2633
cmp byte [ebp - 0xd5b], 0
je 0x104e2675
mov ecx, dword [edi + 0xa570]
push dword [edi + 0x7e70]
mov byte [ebp - 0xd5b], 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [edi + 0xa570]
lea edx, [ebp - 0xe70]
mov eax, dword [edi + 0x7e50]
mov dword [ebp - 0xe70], eax
mov eax, dword [esi]
push edx
mov dword [ebp - 0xe6c], eax
mov eax, dword [ecx]
push 2
push ecx
call dword [eax + 0x70]
push dword [ebp - 0x4c]
mov ecx, edi
call fcn.104bcb80
cmp eax, dword [ebp - 0xdcc]
je 0x104e26a4
mov edx, dword [edi + 0xa570]
push eax
push edx
mov dword [ebp - 0xdcc], eax
mov ecx, dword [edx]
call dword [ecx + 0x64]
mov dword [ebp - 0xdc8], 0
push 0xc0
push dword [ebp - 0xd64]
call fcn.10495550
add esp, 8
mov dword [ebp - 0xdd0], eax
cmp dword [ebp - 0xdc8], eax
je 0x104e2aef
push 0
push eax
lea ecx, [ebp - 0xd58]
mov dword [ebp - 0xdc8], eax
call fcn.104b8490
mov esi, eax
mov dword [ebp - 0xda0], esi
test esi, esi
jne 0x104e2a6d
push 0x80
push eax
mov dword [ebp - 0xd6c], eax
lea eax, [ebp - 0x210]
push eax
call fcn.10513d40
push 0x40
lea eax, [ebp - 0x290]
push esi
push eax
call fcn.10513d40
add esp, 0x18
mov byte [ebp - 0xd5a], 0
cmp dword [ebp - 0xe5c], esi
jbe 0x104e2aef
xor eax, eax
mov dword [ebp - 0xd98], eax
mov ecx, dword [ebp - 0xd64]
lea esi, [eax + eax*2]
movzx ecx, word [ecx + esi*4 + 4]
mov edx, ecx
mov dword [ebp - 0xd70], edx
mov edx, 0xffff
cmp dx, cx
je 0x104e2997
mov eax, dword [ebp - 0xd64]
mov dl, byte [eax + esi*4 + 6]
movzx eax, dl
cmp eax, 3
ja case.default.0x104e276c
jmp dword [eax*4 + 0x104e4898]
mov eax, ecx
mov ecx, dword [ebp - 0xd64]
shl eax, 7
add eax, 0x11edd8
add eax, edi
cmp byte [ecx + esi*4 + 8], 0
mov ecx, eax
mov dword [ebp - 0xd7c], eax
je 0x104e27e1
push 8
push dword [edi + 0xa570]
call fcn.104dd080
mov ecx, dword [ebp - 0xd64]
movzx eax, byte [ecx + esi*4 + 9]
mov esi, dword [ebp - 0xd98]
mov ecx, dword [ebp - 0xd7c]
push eax
push ecx
mov ecx, dword [ebp - 0xd80]
lea eax, [ebp - 0x210]
lea eax, [eax + esi*8]
push eax
call fcn.104a2120
mov ecx, dword [ebp - 0xd6c]
inc ecx
mov dword [ebp - 0xd6c], ecx
jmp 0x104e29da
push 0xac3
push dword [edi + 0xa570]
call fcn.104dd080
mov ecx, dword [ebp - 0xd64]
movzx eax, byte [ecx + esi*4 + 9]
mov esi, dword [ebp - 0xd98]
mov ecx, dword [ebp - 0xd80]
push eax
push dword [ebp - 0xd7c]
lea eax, [ebp - 0x210]
lea eax, [eax + esi*8]
push eax
call fcn.104a2020
mov ecx, dword [ebp - 0xd7c]
mov eax, dword [ecx + 0x60]
mov ecx, dword [ebp - 0xd6c]
inc ecx
mov dword [ebp + esi*4 - 0x290], eax
mov dword [ebp - 0xd6c], ecx
jmp 0x104e29da
mov esi, ecx
shl esi, 7
add esi, 0x11edd8
push 0xac3
push dword [edi + 0xa570]
add esi, edi
mov ecx, esi
mov dword [ebp - 0xd70], esi
call fcn.104dd080
mov ecx, dword [ebp - 0xd80]
lea eax, [ebp - 0x210]
push 0
push esi
mov esi, dword [ebp - 0xd98]
lea eax, [eax + esi*8]
push eax
call fcn.104a2020
mov edx, dword [ebp - 0xd64]
lea eax, [esi + esi*2]
mov ecx, dword [edx + eax*4]
test ecx, 0x10000000
jne 0x104e28a3
mov dword [ebp - 0xe3c], 0
jmp 0x104e28b5
mov eax, dword [ebp - 0xd70]
mov ecx, dword [eax + 0x60]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0xe3c], eax
and ecx, 0xf0f07ff
mov dword [ebp + esi*4 - 0x290], ecx
mov ecx, dword [ebp - 0xd6c]
inc ecx
mov dword [ebp - 0xd6c], ecx
jmp 0x104e29da
mov eax, dword [ebp - 0xd70]
movzx ecx, ax
cmp dl, 1
jne 0x104e28ef
imul ecx, ecx, 0x70
add ecx, 0xa5d8
add ecx, edi
jmp 0x104e28ff
mov eax, ecx
shl eax, 4
sub eax, ecx
lea ecx, [eax + 0xf4bb]
lea ecx, [edi + ecx*8]
mov esi, dword [ebp - 0xd98]
mov edx, dword [edi + 0xa570]
mov edi, dword [ebp - 0xd64]
mov dword [ebp - 0xd7c], ecx
lea eax, [esi + esi*2]
cmp byte [edi + eax*4 + 8], 0
je 0x104e295c
push 8
push edx
call fcn.104dcf70
push dword [ebp - 0xd7c]
mov ecx, dword [ebp - 0xd80]
lea eax, [ebp - 0x210]
lea eax, [eax + esi*8]
push eax
call fcn.104a20d0
mov ecx, dword [ebp - 0xd6c]
mov edi, dword [ebp - 0xd88]
inc ecx
mov dword [ebp - 0xd6c], ecx
jmp 0x104e29da
push 0xac3
push edx
call fcn.104dcf70
push dword [ebp - 0xd7c]
mov ecx, dword [ebp - 0xd80]
lea eax, [ebp - 0x210]
lea eax, [eax + esi*8]
push eax
call fcn.104a1fd0
mov ecx, dword [ebp - 0xd6c]
mov edi, dword [ebp - 0xd88]
inc ecx
mov dword [ebp - 0xd6c], ecx
jmp 0x104e29da
mov edx, dword [ebp - 0xd80]
mov dword [ebp + eax*4 - 0x290], 0
mov ecx, dword [edx + 0x18]
mov esi, dword [edx + 0x20]
add dword [edx + 0x10], esi
mov edx, dword [edx + 0x1c]
mov dword [ebp + eax*8 - 0x210], ecx
mov dword [ebp + eax*8 - 0x20c], edx
xor eax, eax
add esi, ecx
mov ecx, dword [ebp - 0xd80]
adc eax, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp - 0xd6c]
mov al, byte [ebp - 0xd5a]
mov edx, dword [ebp - 0xe5c]
inc al
mov byte [ebp - 0xd5a], al
movzx eax, al
mov dword [ebp - 0xd98], eax
cmp eax, edx
jb 0x104e2732
test ecx, ecx
je 0x104e2aef
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xd60]
add eax, 0x200
mov dword [ebp - 0xb4], ecx
push eax
push edx
lea eax, [ebp - 0x290]
mov ecx, edi
push eax
call fcn.104beb20
push 0
mov word [ebp - 0xb0], ax
lea ecx, [ebp - 0xd58]
lea eax, [ebp - 0xb8]
push eax
push 0
push dword [ebp - 0xdd0]
call fcn.104a1490
mov esi, eax
mov dword [ebp - 0xda0], esi
test esi, esi
je 0x104e2aef
movzx eax, word [esi + 8]
mov dword [ebp - 0xd70], eax
cmp ax, word [ebp - 0xdd8]
je 0x104e2ac9
mov esi, dword [edi + 0xa570]
movzx ecx, word [edi + 0x7e6c]
imul ecx, dword [edi + 0x7e68]
movzx eax, ax
mov dword [ebp - 0xdd8], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [ebp - 0xd70]
movzx eax, ax
imul ecx, eax
xor eax, eax
add ecx, dword [edi + 0x7e60]
adc eax, dword [edi + 0x7e64]
push eax
push ecx
push 0
push esi
call edx
mov esi, dword [ebp - 0xda0]
push dword [esi + 4]
mov ecx, dword [edi + 0xa570]
push dword [esi]
push 1
mov eax, dword [ecx]
push ecx
call dword [eax + 0x7c]
push dword [esi + 4]
mov ecx, dword [edi + 0xa570]
push dword [esi]
push 3
mov eax, dword [ecx]
push ecx
call dword [eax + 0x7c]
mov esi, dword [ebp - 0xd8c]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
cmp ecx, eax
jb 0x104e2b19
mov edx, dword [ebp - 0xdbc]
cmp dx, word [ebp - 0x4c]
jne 0x104e2b19
cmp byte [ebp - 0xd65], 0
je 0x104e2bd8
jmp 0x104e2b7b
push eax
mov eax, dword [ebp - 0xd60]
push ecx
movzx ecx, byte [esi + 0x27]
mov eax, dword [eax + 0x18c57a0]
push dword [eax + ecx*4]
push edi
call fcn.104d66a0
movzx eax, word [ebp - 0x4c]
add esp, 0x10
mov dword [ebp - 0xdbc], eax
movzx eax, ax
imul eax, eax, 0xcc
mov dword [ebp - 0xd70], eax
mov eax, dword [eax + edi + 0x1055d8]
mov eax, dword [eax + 4]
test eax, eax
je 0x104e2b66
push eax
mov ecx, edi
call fcn.104a6790
mov eax, dword [ebp - 0xd70]
cmp byte [eax + edi + 0x1056a0], 0
seta byte [ebp - 0xd65]
mov eax, dword [ebp - 0xdbc]
mov ecx, 0x10b2b440
movzx eax, ax
imul eax, eax, 0xcc
push esi
push dword [ebp - 0xd60]
add eax, 0x1055d8
add eax, edi
push eax
push dword [ebp - 0xe24]
push edi
call fcn.10499860
lea eax, [ebp - 0xe58]
mov ecx, edi
push eax
push dword [ebp - 0x4c]
call fcn.104a7110
push dword [ebp - 0xe54]
mov ecx, dword [edi + 0xa570]
push dword [ebp - 0xe58]
push 2
mov eax, dword [ecx]
push ecx
call dword [eax + 0x94]
movzx eax, word [esi + 0xc]
mov ecx, 0xffff
cmp cx, ax
je 0x104e2c54
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xd70], ecx
mov dword [ebp - 0xda0], eax
cmp eax, 0xffffffff
jne 0x104e2c11
mov eax, dword [edi + ecx*8 + 0x7a63c]
shr eax, 5
mov dword [ebp - 0xda0], eax
mov edx, dword [edi + 0xa570]
push 0
push 0
push 0
mov eax, dword [edx]
push 0
mov ecx, dword [eax + 0xec]
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
mov eax, dword [ebp - 0xd70]
push dword [edi + eax*8 + 0x7a628]
mov eax, dword [0x10b03290]
push dword [ebp - 0xda0]
push dword [eax + 0x7e74]
push edx
call ecx
jmp 0x104e39f3
push dword [esi + 0x18]
mov ecx, dword [edi + 0xa570]
push dword [esi + 0x14]
push dword [esi + 0x10]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x38]
jmp 0x104e39f3
mov al, byte [ebp - 0xd5c]
test dl, dl
jne 0x104e2c84
test al, al
jne 0x104e2c84
mov byte [ebp - 0xd59], dl
jmp 0x104e2caf
mov byte [ebp - 0xd59], 1
test al, al
je 0x104e2caf
push closesocket
push 0x10a42eb8
mov byte [ebp - 0xd5c], 0
call fcn.1050b4f0
add esp, 8
mov byte [ebp - 0xd5b], 1
mov edx, dword [ebp - 0xd8c]
xor ecx, ecx
test dword [edx + 0x24], 0x40000000
jne 0x104e2cc4
xor cl, cl
jmp 0x104e2cc6
mov cl, 1
movzx eax, word [edx + 0x72]
mov byte [ebp - 0xd5a], cl
cmp word [ebp - 0xde8], ax
je 0x104e2d04
test cl, cl
jne 0x104e2d04
mov esi, dword [ebp - 0xd60]
xor ecx, ecx
cmp dword [esi + eax*4 + 0xc300], ecx
movzx eax, byte [edx + 0x66]
mov esi, dword [ebp - 0xd80]
setne cl
shr eax, 7
cmp eax, ecx
jne 0x104e39ae
movzx eax, word [edx + 0x64]
mov ecx, dword [ebp - 0xd60]
push eax
lea eax, [ebp - 0xdb0]
push eax
lea ecx, [ecx + 0x14bd780]
call fcn.104cf4a0
mov edx, dword [ebp - 0xd8c]
test al, al
jne 0x104e39ae
cmp byte [edx + 0x67], al
je 0x104e39f3
mov eax, dword [edx + 0x24]
mov edi, eax
mov dword [ebp - 0xd98], edi
mov ecx, eax
mov edi, dword [ebp - 0xdb4]
xor dword [ebp - 0xd98], edi
test dword [ebp - 0xd98], 0x70000
mov edi, dword [ebp - 0xd88]
mov dword [ebp - 0xd7c], eax
mov dword [ebp - 0xdb4], eax
mov dword [ebp - 0x31c], eax
je 0x104e2d80
shr eax, 0x10
and al, 7
mov byte [ebp - 0xdd4], al
mov ecx, dword [edx + 0x28]
mov eax, ecx
xor eax, dword [ebp - 0x318]
cmp byte [ebp - 0xd59], 0
movzx eax, al
mov dword [ebp - 0xdd0], eax
mov dword [ebp - 0xda0], 0
mov dword [ebp - 0x318], ecx
jne 0x104e2dba
cmp byte [ebp - 0xd5b], 0
je 0x104e2e8f
mov ecx, dword [edi + 0xa570]
push dword [edi + 0x7e70]
mov byte [ebp - 0xd5c], 0
push ecx
mov eax, dword [ecx]
mov byte [ebp - 0xd5b], 0
call dword [eax + 0x78]
mov ecx, dword [edi + 0xa570]
lea edx, [ebp - 0xe30]
mov eax, dword [edi + 0x7e50]
mov dword [ebp - 0xe30], eax
mov eax, dword [esi]
push edx
mov dword [ebp - 0xe2c], eax
mov eax, dword [ecx]
push 2
push ecx
call dword [eax + 0x70]
mov ecx, dword [ebp - 0xd8c]
mov eax, 0xffff
mov word [ebp - 0xdbc], ax
xor eax, eax
mov dword [ebp - 0xe40], 0xffffffff
mov dword [ebp - 0xdcc], 0
cmp word [ecx + 0x64], ax
mov dword [ebp - 0xdc8], 0
sete al
mov dword [ebp - 0xdd8], 0xffff
mov dword [ebp - 0xda4], eax
mov word [ebp - 0x2dc], ax
mov eax, dword [ebp - 0xd7c]
and eax, 0x70000
mov dword [ebp - 0xd98], 0xffffffff
shr eax, 0x10
mov dword [ebp - 0xdd0], 0xffffffff
mov dword [ebp - 0xda0], 0xffffffff
mov dword [ebp - 0xe40], 0
mov byte [ebp - 0xdd4], al
mov eax, dword [ebp - 0xd8c]
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x34]
push ecx
mov dword [ebp - 0xe3c], ecx
movzx ecx, byte [eax + 0x68]
mov eax, dword [ebp - 0xd60]
push edx
mov dword [ebp - 0xe98], edx
mov eax, dword [eax + 0x18c57a0]
push dword [eax + ecx*4]
push edi
call fcn.104d66a0
mov edx, dword [ebp - 0xd8c]
add esp, 0x10
mov ecx, dword [edx + 0x20]
mov eax, ecx
and eax, 0xc000
cmp eax, 0xc000
je 0x104e2f06
mov eax, ecx
and eax, 0xd000
cmp eax, 0xd000
je 0x104e2f06
mov eax, ecx
and eax, 0xc0000
cmp eax, 0xc0000
je 0x104e2f06
mov eax, ecx
and eax, 0xd0000
cmp eax, 0xd0000
jne 0x104e2f0f
mov byte [ebp - 0xd59], 1
jmp 0x104e2f16
mov byte [ebp - 0xd59], 0
mov al, byte [edx + 0x67]
mov byte [ebp - 0xe28], 0
cmp al, 0xff
je 0x104e2ff2
movzx eax, al
xor esi, esi
mov dword [ebp - 0xd78], eax
test eax, eax
je 0x104e2ff2
nop dword [eax + eax]
push eax
call fcn.104eb880
mov edx, dword [ebp - 0xd8c]
mov ecx, eax
shr dword [ebp - 0xd78], cl
add esi, ecx
add esp, 4
movzx eax, word [edx + esi*8 + 6]
movzx ecx, word [edx + esi*8 + 4]
mov word [ebp + esi*8 - 0x33a], ax
mov eax, dword [edx + esi*8]
mov dword [ebp + esi*8 - 0x340], eax
mov eax, ecx
mov word [ebp + esi*8 - 0x33c], cx
shl ecx, 4
sub ecx, eax
movzx eax, word [edx + esi*8 + 6]
cmp word [ebp - 0xde8], ax
jne 0x104e2f9a
movzx eax, word [edi + ecx*8 + 0x7a648]
movzx eax, ax
inc esi
lea ecx, [eax + eax*4]
movzx eax, byte [ebp - 0xe28]
inc byte [ebp - 0xe28]
shl ecx, 4
add ecx, 0x19edd8
add ecx, edi
mov dword [ebp + eax*4 - 0xc8], ecx
mov eax, dword [ebp - 0xd78]
shr eax, 1
mov dword [ebp - 0xd78], eax
test eax, eax
jne 0x104e2f40
mov ax, word [ebp - 0x2dc]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0xda4], eax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0xdb4], eax
mov ax, word [edx + 0x60]
shr ax, 4
movzx eax, al
push eax
push dword [ebp - 0x4c]
lea eax, [ebp - 0xc8]
push eax
push dword [ebp - 0xe28]
push dword [edx + 0x2c]
push dword [edx + 0x28]
push dword [edx + 0x24]
push ecx
mov ecx, edi
call fcn.104bcdd0
push 0xc0
push dword [ebp - 0xd64]
mov esi, eax
mov dword [ebp - 0xe8c], esi
call fcn.10495550
mov edx, eax
add esp, 8
mov dword [ebp - 0xd70], edx
cmp dword [ebp - 0xdc8], edx
jne 0x104e30c0
cmp dword [ebp - 0xdd0], 0
jne 0x104e30c0
cmp dword [ebp - 0xda0], 0
jne 0x104e30c0
cmp byte [ebp - 0xd59], 0
mov ecx, dword [ebp - 0xd8c]
je 0x104e3076
mov eax, dword [ebp - 0xe34]
cmp eax, dword [ecx + 0x30]
jne 0x104e30c0
test dword [ebp - 0xd98], 0x70000
jne 0x104e30c0
mov eax, dword [ebp - 0xdd4]
mov edi, dword [ebp - 0xddc]
movzx eax, al
lea eax, [eax + eax*4]
cmp edi, dword [eax*4 + 0x10a2f290]
mov edi, dword [ebp - 0xd88]
jne 0x104e30c0
mov eax, dword [ebp - 0xda4]
cmp ax, word [ecx + 0x64]
jne 0x104e30c0
cmp esi, dword [ebp - 0xdcc]
jne 0x104e30c0
cmp byte [ebp - 0xd5a], 0
je 0x104e30e8
mov esi, dword [edi + 0xa570]
lea ecx, [edi + 0x96b0]
push 0
push esi
call fcn.104b9970
push 1
push esi
lea ecx, [edi + 0x96b0]
call fcn.104b9970
mov edx, dword [ebp - 0xd70]
cmp dword [ebp - 0xdc8], edx
je 0x104e3532
push 0
push edx
lea ecx, [ebp - 0xd58]
mov dword [ebp - 0xdc8], edx
call fcn.104b8490
mov esi, eax
mov dword [ebp - 0xd78], esi
test esi, esi
jne 0x104e34a7
push 0x80
push eax
mov dword [ebp - 0xd78], eax
lea eax, [ebp - 0x148]
push eax
call fcn.10513d40
push 0x40
lea eax, [ebp - 0x1d0]
push esi
push eax
call fcn.10513d40
mov dword [ebp - 0xd6c], esi
add esp, 0x18
lea esi, [ebp - 0x148]
mov dword [ebp - 0xd94], esi
mov esi, dword [ebp - 0xd64]
add esi, 9
mov dword [ebp - 0xd64], esi
movzx edx, word [esi - 5]
mov edi, edx
mov dword [ebp - 0xdf4], edi
mov edi, 0xffff
cmp di, dx
mov edi, dword [ebp - 0xd88]
je 0x104e33be
mov al, byte [esi - 3]
movzx edi, al
mov byte [ebp - 0xdc1], al
cmp edi, 3
mov eax, dword [ebp - 0xd94]
mov dword [ebp - 0xd64], edi
mov edi, dword [ebp - 0xd88]
ja case.default.0x104e31b0
mov ecx, dword [ebp - 0xd64]
jmp dword [ecx*4 + 0x104e48a8]
mov eax, edx
shl eax, 7
add eax, 0x11edd8
add eax, edi
cmp byte [esi - 1], 0
mov dword [ebp - 0xd64], eax
mov ecx, eax
je 0x104e3212
push 8
push dword [edi + 0xa570]
call fcn.104dd080
movzx eax, byte [esi]
mov ecx, dword [ebp - 0xd64]
push eax
push ecx
push dword [ebp - 0xd94]
mov ecx, dword [ebp - 0xd80]
call fcn.104a2120
mov edx, dword [ebp - 0xd78]
mov eax, dword [ebp - 0xd94]
inc edx
mov dword [ebp - 0xd78], edx
jmp 0x104e3410
push 0xac3
push dword [edi + 0xa570]
call fcn.104dd080
movzx eax, byte [esi]
mov ecx, dword [ebp - 0xd80]
push eax
push dword [ebp - 0xd64]
push dword [ebp - 0xd94]
call fcn.104a2020
mov ecx, dword [ebp - 0xd64]
mov edx, dword [ebp - 0xd78]
inc edx
mov dword [ebp - 0xd78], edx
mov eax, dword [ecx + 0x60]
mov ecx, dword [ebp - 0xd6c]
mov dword [ebp + ecx*4 - 0x1d0], eax
mov eax, dword [ebp - 0xd94]
jmp 0x104e3410
mov eax, edx
shl eax, 7
add eax, 0x11edd8
add eax, edi
push 0xac3
push dword [edi + 0xa570]
mov ecx, eax
mov dword [ebp - 0xd64], eax
call fcn.104dd080
mov ecx, dword [ebp - 0xd80]
push 0
push dword [ebp - 0xd64]
push dword [ebp - 0xd94]
call fcn.104a2020
mov ecx, dword [esi - 9]
test ecx, 0x10000000
jne 0x104e32bf
mov dword [ebp - 0xdf4], 0
jmp 0x104e32d1
mov eax, dword [ebp - 0xd64]
mov ecx, dword [eax + 0x60]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0xdf4], eax
mov eax, dword [ebp - 0xd6c]
and ecx, 0xf0f07ff
mov edx, dword [ebp - 0xd78]
inc edx
mov dword [ebp - 0xd78], edx
mov dword [ebp + eax*4 - 0x1d0], ecx
mov eax, dword [ebp - 0xd94]
jmp 0x104e3410
cmp byte [ebp - 0xdc1], 1
mov eax, dword [ebp - 0xd6c]
mov dword [ebp + eax*4 - 0x1d0], 0
mov eax, dword [ebp - 0xdf4]
movzx ecx, ax
jne 0x104e332b
imul eax, ecx, 0x70
add eax, 0xa5d8
add eax, edi
jmp 0x104e333a
mov eax, ecx
shl eax, 4
sub eax, ecx
add eax, 0xf4bb
lea eax, [edi + eax*8]
cmp byte [esi - 1], 0
mov ecx, dword [edi + 0xa570]
mov dword [ebp - 0xd64], eax
je 0x104e3385
push 8
push ecx
mov ecx, eax
call fcn.104dcf70
push dword [ebp - 0xd64]
mov ecx, dword [ebp - 0xd80]
push dword [ebp - 0xd94]
call fcn.104a20d0
mov edx, dword [ebp - 0xd78]
mov eax, dword [ebp - 0xd94]
inc edx
mov dword [ebp - 0xd78], edx
jmp 0x104e3410
push 0xac3
push ecx
mov ecx, eax
call fcn.104dcf70
push dword [ebp - 0xd64]
mov ecx, dword [ebp - 0xd80]
push dword [ebp - 0xd94]
call fcn.104a1fd0
mov edx, dword [ebp - 0xd78]
mov eax, dword [ebp - 0xd94]
inc edx
mov dword [ebp - 0xd78], edx
jmp 0x104e3410
mov eax, dword [ebp - 0xd80]
mov ecx, dword [eax + 0x18]
mov esi, dword [eax + 0x20]
add dword [eax + 0x10], esi
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0xd94]
mov dword [eax], ecx
mov dword [eax + 4], edx
xor eax, eax
add esi, ecx
mov ecx, dword [ebp - 0xd80]
adc eax, edx
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0xd6c]
mov dword [ecx + 0x18], esi
mov esi, dword [ebp - 0xd64]
mov dword [ebp + eax*4 - 0x1d0], 0
mov eax, dword [ebp - 0xd94]
mov edx, dword [ebp - 0xd78]
mov ecx, dword [ebp - 0xd6c]
add esi, 0xc
inc ecx
mov dword [ebp - 0xd64], esi
add eax, 8
mov dword [ebp - 0xd6c], ecx
mov dword [ebp - 0xd94], eax
cmp ecx, 0x10
jb 0x104e3163
test edx, edx
je 0x104e3532
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xd60]
add eax, 0x200
mov dword [ebp - 0xa4], ecx
push eax
push 0x10
lea eax, [ebp - 0x1d0]
mov ecx, edi
push eax
call fcn.104beb20
push 0
mov word [ebp - 0xa0], ax
lea ecx, [ebp - 0xd58]
lea eax, [ebp - 0xa8]
push eax
push 0
push dword [ebp - 0xd70]
call fcn.104a1490
mov esi, eax
mov dword [ebp - 0xd78], esi
test esi, esi
je 0x104e3532
movzx eax, word [esi + 8]
mov dword [ebp - 0xdf4], eax
cmp ax, word [ebp - 0xdd8]
je 0x104e3506
mov esi, dword [edi + 0xa570]
movzx ecx, word [edi + 0x7e6c]
imul ecx, dword [edi + 0x7e68]
movzx eax, ax
mov dword [ebp - 0xdd8], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
mov eax, dword [ebp - 0xdf4]
movzx eax, ax
imul ecx, eax
xor eax, eax
add ecx, dword [edi + 0x7e60]
adc eax, dword [edi + 0x7e64]
push eax
push ecx
push 0
push esi
call edx
mov esi, dword [ebp - 0xd78]
push dword [esi + 4]
mov ecx, dword [edi + 0xa570]
push dword [esi]
push 1
mov eax, dword [ecx]
push ecx
call dword [eax + 0x80]
push dword [esi + 4]
mov ecx, dword [edi + 0xa570]
push dword [esi]
push 3
mov eax, dword [ecx]
push ecx
call dword [eax + 0x80]
cmp dword [ebp - 0xdd0], 0
jne 0x104e3544
cmp dword [ebp - 0xda0], 0
je 0x104e355f
mov esi, dword [ebp - 0xd8c]
mov ecx, dword [edi + 0xa570]
mov eax, dword [esi + 0x28]
movzx edx, al
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x60]
jmp 0x104e3565
mov esi, dword [ebp - 0xd8c]
cmp byte [ebp - 0xd59], 0
je 0x104e362b
mov ecx, dword [esi + 0x30]
mov edx, ecx
mov eax, ecx
shr edx, 8
shr eax, 0x10
mov dword [ebp - 0xdf4], eax
cmp dword [ebp - 0xe34], ecx
je 0x104e362b
movss xmm1, dword [0x108fc6ec]
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0xe34], ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [ebp - 0xdf4]
movzx eax, al
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x84], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, dl
lea edx, [ebp - 0x84]
push edx
divss xmm0, xmm1
movss dword [ebp - 0x80], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, cl
mov ecx, dword [edi + 0xa570]
push ecx
divss xmm0, xmm1
movss dword [ebp - 0x7c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x78], xmm0
mov eax, dword [ecx]
call dword [eax + 0x5c]
test dword [ebp - 0xd98], 0x70000
jne 0x104e3652
mov eax, dword [ebp - 0xdd4]
mov ecx, dword [ebp - 0xddc]
movzx eax, al
lea eax, [eax + eax*4]
cmp ecx, dword [eax*4 + 0x10a2f290]
je 0x104e36b0
mov eax, dword [ebp - 0xd7c]
mov ecx, dword [edi + 0xa570]
and eax, 0x70000
shr eax, 0x10
mov byte [ebp - 0xdd4], al
mov dword [ebp - 0xdf8], 0
mov dword [ebp - 0xdf4], 0
lea eax, [eax + eax*4]
movups xmm0, xmmword [eax*4 + 0x10a2f290]
mov eax, dword [eax*4 + 0x10a2f2a0]
mov dword [ebp - 0xd90], eax
mov eax, dword [ecx]
movd edx, xmm0
movups xmmword [ebp - 0xeb8], xmm0
push edx
push ecx
mov dword [ebp - 0xddc], edx
call dword [eax + 0x50]
movzx eax, word [esi + 0x64]
cmp word [ebp - 0xda4], ax
je 0x104e37aa
mov ecx, eax
mov dword [ebp - 0xda4], ecx
mov word [ebp - 0x2dc], cx
mov ecx, 0xffff
cmp cx, ax
jne 0x104e3728
cmp byte [ebp - 0xd71], 0
jne 0x104e36f0
cmp byte [ebp - 0xd81], 0
je 0x104e37aa
movzx ecx, word [ebp - 0xdb0]
movzx eax, word [ebp - 0xdac]
movzx edx, word [ebp - 0xdae]
add eax, ecx
mov dword [ebp - 0x6c], eax
movzx eax, word [ebp - 0xdaa]
add eax, edx
mov dword [ebp - 0x70], edx
mov byte [ebp - 0xd71], 0
lea edx, [ebp - 0x74]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x68], eax
jmp 0x104e379b
mov ecx, dword [ebp - 0xd60]
add ecx, 0x18bd790
mov byte [ebp - 0xd71], 1
lea eax, [ecx + eax*8]
push eax
lea eax, [ebp - 0xdb0]
push eax
lea ecx, [ebp - 0xe64]
call fcn.104dbcd0
mov ax, word [ebp - 0xe60]
xor ecx, ecx
cmp cx, ax
je 0x104e39f3
cmp cx, word [ebp - 0xe5e]
je 0x104e39f3
movzx ecx, word [ebp - 0xe64]
movzx edx, word [ebp - 0xe62]
movzx eax, ax
add eax, ecx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
movzx eax, word [ebp - 0xe5e]
add eax, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x58], eax
lea edx, [ebp - 0x64]
mov ecx, dword [edi + 0xa570]
push edx
push 1
push ecx
mov eax, dword [ecx]
call dword [eax + 0x58]
mov edx, dword [ebp - 0xe8c]
cmp edx, dword [ebp - 0xdcc]
je 0x104e37cb
mov ecx, dword [edi + 0xa570]
push edx
push ecx
mov dword [ebp - 0xdcc], edx
mov eax, dword [ecx]
call dword [eax + 0x64]
mov eax, dword [ebp - 0xe98]
mov edx, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0xe3c]
jb 0x104e3805
cmp word [ebp - 0xdbc], dx
jne 0x104e3805
mov ecx, dword [ebp - 0xd98]
xor eax, eax
and ecx, 0xff00
or eax, ecx
jne 0x104e3805
cmp byte [ebp - 0xd65], al
je 0x104e38dd
jmp 0x104e3868
mov ax, dx
mov dword [ebp - 0xdbc], eax
movzx eax, ax
imul eax, eax, 0xcc
mov dword [ebp - 0xd70], eax
mov eax, dword [eax + edi + 0x1055d8]
mov eax, dword [eax + 4]
test eax, eax
je 0x104e3833
push eax
mov ecx, edi
call fcn.104a6790
mov eax, dword [ebp - 0xd70]
mov ecx, dword [eax + edi + 0x1055dc]
test ecx, ecx
je 0x104e3859
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x104e3859
push ecx
mov ecx, edi
call fcn.104a6790
mov eax, dword [ebp - 0xd70]
cmp byte [eax + edi + 0x1056a0], 0
seta byte [ebp - 0xd65]
mov eax, dword [ebp - 0xdbc]
movzx eax, ax
imul ecx, eax, 0xcc
mov eax, dword [ebp - 0xd7c]
shr eax, 8
movzx eax, al
push esi
push dword [ebp - 0xd60]
add ecx, 0x1055d8
movd xmm0, eax
add ecx, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push ecx
mov ecx, 0x10b2b440
push dword [ebp - 0xe24]
addsd xmm0, qword [eax*8 + 0x1059bac0]
push edi
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x108fc6ec]
movss dword [0x10b33510], xmm0
call fcn.1049a660
lea eax, [ebp - 0xe58]
mov ecx, edi
push eax
push dword [ebp - 0x4c]
call fcn.104a7110
push esi
push dword [ebp - 0xe54]
lea ecx, [edi + 0x96b0]
push dword [ebp - 0xe58]
push dword [edi + 0xa570]
call fcn.104b6210
xor edx, edx
mov ecx, dword [ebp - 0xd8c]
mov esi, eax
div dword [ebp - 0xeac]
mov ecx, dword [ecx + 0x50]
sub eax, dword [ebp - 0xd90]
mov edx, dword [ebp - 0xdd4]
add dword [ebp - 0xe44], esi
imul ecx, eax
movzx edx, dl
add dword [ebp + edx*4 - 0x160], ecx
mov ecx, dword [ebp - 0xd8c]
add dword [ebp + edx*4 - 0x190], eax
mov eax, dword [ecx + 0x50]
add dword [ebp + edx*4 - 0x178], eax
cmp byte [ebp - 0xd5a], 0
je 0x104e39f3
movzx eax, word [ecx + 0x72]
lea ecx, [edi + 0x7b20]
mov esi, dword [ebp - 0xd88]
push eax
push dword [ebp - 0xd60]
push dword [esi + 0xa570]
call fcn.104a2850
mov esi, dword [esi + 0xa570]
mov ecx, dword [ebp - 0xd9c]
push 0
push esi
call fcn.104b9970
mov ecx, dword [ebp - 0xd9c]
push 1
push esi
call fcn.104b9970
mov ecx, dword [ebp - 0xd88]
push dword [ecx + 0xa570]
lea ecx, [edi + 0x7b20]
call fcn.104b7660
jmp 0x104e39f3
cmp byte [ebp - 0xd59], 0
je 0x104e39f3
xor eax, eax
mov dword [ebp - 0xe20], 0x1f
cmp word [edx + 0x64], ax
xorps xmm0, xmm0
mov dword [ebp - 0xdb4], 0x1000050
sete al
movlpd qword [ebp - 0x318], xmm0
mov dword [ebp - 0xda4], eax
mov word [ebp - 0x2dc], ax
mov byte [ebp - 0xd5b], 1
mov eax, dword [ebp - 0xdfc]
mov edi, dword [ebp - 0xd88]
cmp dword [ebp - 0xdb8], eax
jl 0x104e2270
push dword [edi + 0xa570]
lea ecx, [edi + 0x96b0]
call fcn.104b75d0
mov ecx, edi
call fcn.104cf710
cmp byte [ebp - 0xd5c], 0
je 0x104e3a3e
push closesocket
push 0x10a42eb4
call fcn.1050b4f0
add esp, 8
push 0x100
lea eax, [ebp - 0xea4]
mov ecx, edi
push eax
call fcn.104ea760
mov eax, dword [ebp - 0xd60]
cmp dword [eax + 0x18c57a4], 0
jbe 0x104e3a6b
lea ecx, [ebp - 0xe84]
call fcn.104b7420
call fcn.10509d60
mov esi, eax
mov dword [ebp - 0xdb4], eax
sub esi, dword [ebp - 0xde0]
mov ecx, edx
mov eax, dword fs:[0x2c]
mov dword [ebp - 0xd90], ecx
sbb ecx, dword [ebp - 0xdc0]
mov dword [ebp - 0xda4], ecx
mov ecx, dword [0x10b47b54]
mov dword [ebp - 0xde8], esi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xdb8], eax
mov ecx, eax
mov eax, dword [0x10b33528]
cmp eax, dword [ecx + 8]
jg 0x104e4753
jmp 0x104e3ac8
mov ecx, dword [ebp - 0xdb8]
mov eax, dword [0x10b33538]
cmp eax, dword [ecx + 8]
jg 0x104e4790
mov edx, dword [0x10b33524]
mov eax, dword [ebp - 0xda4]
cmp edx, eax
jg 0x104e3af5
mov ecx, dword [0x10b33520]
jl 0x104e3af9
cmp ecx, esi
jb 0x104e3af9
mov ecx, esi
mov edx, eax
mov dword [0x10b33524], edx
mov edx, dword [0x10b33534]
mov dword [0x10b33520], ecx
cmp edx, eax
jl 0x104e3b1b
mov ecx, dword [0x10b33530]
jg 0x104e3b1f
cmp ecx, esi
ja 0x104e3b1f
mov ecx, esi
mov edx, eax
mov esi, dword [ebp - 0xdb8]
mov eax, dword [0x10b33550]
mov dword [0x10b33530], ecx
mov dword [0x10b33534], edx
cmp eax, dword [esi + 8]
jg 0x104e47cd
mov eax, dword [0x10b33560]
cmp eax, dword [esi + 8]
jg 0x104e4810
mov esi, dword [edi + 0x1d4]
mov ecx, dword [0x10b3354c]
mov edx, dword [edi + 0x1d0]
cmp ecx, esi
jg 0x104e3b74
mov eax, dword [0x10b33548]
jl 0x104e3b78
cmp eax, edx
jb 0x104e3b78
mov eax, edx
mov ecx, esi
mov dword [0x10b3354c], ecx
mov ecx, dword [0x10b3355c]
mov dword [0x10b33548], eax
mov esi, dword [edi + 0x1d4]
mov edx, dword [edi + 0x1d0]
cmp ecx, esi
jl 0x104e3ba4
mov eax, dword [0x10b33558]
jg 0x104e3ba8
cmp eax, edx
ja 0x104e3ba8
mov eax, edx
mov ecx, esi
mov dword [0x10b33558], eax
mov eax, dword [ebp - 0xdec]
mov dword [0x10b3355c], ecx
cmp eax, 0xffffffff
je 0x104e3c52
push eax
lea ecx, [edi + 0x2e0]
call fcn.104b7960
mov edx, dword [edi + 0x2e4]
mov ecx, dword [edi + 0x2e0]
call fcn.10511e80
movsd xmm1, qword [0x1075c8b8]
divsd xmm1, xmm0
mov ecx, dword [edi + 0x1af0]
sub ecx, dword [edi + 0x1ae8]
mov edx, dword [edi + 0x1af4]
sbb edx, dword [edi + 0x1aec]
movsd qword [ebp - 0xe30], xmm1
call fcn.10511e80
mulsd xmm0, qword [ebp - 0xe30]
comisd xmm0, xmmword [0x10b33540]
jbe 0x104e3c2a
movsd qword [0x10b33540], xmm0
mov edx, dword [edi + 0x1af8]
dec edx
mov esi, edx
sub esi, dword [0x10b3353c]
sar esi, 0x1f
mov ecx, esi
not esi
and ecx, dword [0x10b3353c]
and esi, edx
or esi, ecx
mov dword [ebp - 0xd9c], esi
jmp 0x104e3c5d
mov eax, dword [0x10b3353c]
mov dword [ebp - 0xd9c], eax
mov edx, dword [edi + 0x7b10]
sub edx, dword [edi + 0x7b18]
mov eax, dword [edi + 0x7b0c]
mov esi, edx
sar esi, 0x1f
add eax, edx
mov ecx, esi
not esi
and ecx, eax
and esi, edx
or esi, ecx
dec esi
mov ecx, esi
sub ecx, dword [ebp - 0xd9c]
sar ecx, 0x1f
mov eax, ecx
not ecx
and eax, dword [ebp - 0xd9c]
and ecx, esi
or ecx, eax
mov dword [0x10b3353c], ecx
call fcn.10509d80
mov ecx, dword [ebp - 0xd60]
mov esi, eax
mov eax, dword [ebp - 0xde0]
mov dword [ebp - 0xd70], esi
push 0x14
mov dword [ecx + 0x18cd5a8], eax
mov eax, dword [ebp - 0xdc0]
mov dword [ecx + 0x18cd5ac], eax
mov eax, dword [ebp - 0xdb4]
mov dword [ecx + 0x18cd5b0], eax
mov eax, dword [ebp - 0xd60]
mov ecx, dword [ebp - 0xd90]
mov dword [ebp - 0xd9c], edx
mov dword [eax + 0x18cd5b8], esi
mov esi, eax
mov dword [eax + 0x18cd5b4], ecx
mov dword [esi + 0x18cd5bc], edx
mov eax, dword [edi + 0x1ae8]
mov ecx, dword [edi + 0x1aec]
mov dword [esi + 0x18cd5c0], eax
mov dword [esi + 0x18cd5c4], ecx
mov eax, dword [edi + 0x1af0]
mov ecx, dword [edi + 0x1af4]
mov dword [esi + 0x18cd5c8], eax
mov dword [esi + 0x18cd5cc], ecx
mov eax, dword [edi + 0x2e0]
mov ecx, dword [edi + 0x2e4]
mov dword [esi + 0x18cd5d0], eax
mov eax, dword [ebp - 0xe4c]
mov dword [esi + 0x18cd5e8], eax
mov eax, dword [ebp - 0xe48]
mov dword [esi + 0x18cd5ec], eax
mov dword [esi + 0x18cd5d4], ecx
movzx eax, word [esi + 0x18c57a8]
mov dword [esi + 0x18cd5f0], eax
mov eax, dword [0x10b3353c]
mov dword [esi + 0x18cd5f4], eax
mov eax, dword [edi + 0x1afc]
mov dword [esi + 0x18cd5f8], eax
lea eax, [ebp - 0x160]
push eax
lea eax, [esi + 0x18cd630]
push eax
call fcn.1050a090
add esp, 0xc
mov dword [esi + 0x18cd648], 1
mov dword [esi + 0x18cd64c], 0x80000000
lea edx, [ebp - 0x250]
mov dword [esi + 0x18cd650], 1
mov dword [esi + 0x18cd654], 0x80000000
mov ecx, dword [edi + 0x138]
push edx
push 0
push 0
mov eax, dword [ecx]
push ecx
call dword [eax + 0x38]
mov ecx, dword [edi + 0x138]
mov eax, dword [ecx]
lea edx, [ebp - 0x230]
push edx
push 1
push 0
push ecx
call dword [eax + 0x38]
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x24c]
mov dword [esi + 0x18cd648], eax
mov eax, dword [ebp - 0x248]
mov dword [esi + 0x18cd64c], ecx
mov ecx, dword [ebp - 0x244]
mov dword [esi + 0x18cd650], eax
mov dword [esi + 0x18cd654], ecx
mov eax, dword [esi + 0x18c57d0]
test al, 6
je 0x104e45dc
mov eax, dword fs:[0x2c]
lea esi, [edi + 0x1a8108]
mov ecx, dword [0x10b47b54]
mov dword [ebp - 0xd7c], esi
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10b33570]
cmp eax, dword [ecx + 8]
jg 0x104e4853
mov edx, dword [ebp - 0xd90]
cmp edx, dword [0x10b3356c]
jl 0x104e45d9
mov eax, dword [ebp - 0xdb4]
jg 0x104e3e7f
cmp eax, dword [0x10b33568]
jb 0x104e45d9
mov ecx, dword [ebp - 0xd70]
add ecx, eax
mov eax, dword [ebp - 0xd9c]
mov dword [0x10b33568], ecx
mov ecx, dword [ebp - 0xd70]
adc eax, edx
mov edx, dword [ebp - 0xd9c]
mov dword [0x10b3356c], eax
call fcn.10511ed0
movaps xmm1, xmm0
mov eax, dword [esi + 4]
movsd xmm0, qword [0x1075c8b8]
add eax, eax
divsd xmm0, xmm1
push eax
push 0
push dword [esi]
movsd qword [ebp - 0xe70], xmm1
movsd qword [ebp - 0xdb0], xmm0
call fcn.1050a0a0
mov ecx, dword [ebp - 0xd88]
add esp, 0xc
mov edi, dword [edi + 0x16c]
mov eax, dword [ecx]
mov esi, dword [ecx + 0x7d3c]
mov eax, dword [eax + 8]
call eax
push 0x2205
push 0x7f
mov ecx, edi
sar edi, 0xc
sar ecx, 8
and edi, 0xf
and ecx, 0xf
push ecx
push edi
push esi
push eax
push str.__s._d__FL__d._d____MSVC_17.0___x86___32_bit___Windows___Version_1._d._d__commit:_2ad67a4dfd721c266d2286ce5ad19a64e1373531_
push 0x8f
push 0
push 0
push dword [ebp - 0xd7c]
call fcn.104d2410
mov esi, dword [ebp - 0xd88]
lea eax, [ebp - 0x148]
push 0x80
add esi, 0x10
push esi
push eax
call fcn.10527ed6
mov edi, dword [ebp - 0xd7c]
lea eax, [ebp - 0x148]
push eax
push str._Device:__s
push 0x8f
push 1
push 0
push edi
call fcn.104d2410
add esp, 0x50
lea eax, [ebp - 0x64]
push 1
push 0
push dword [esi + 0x110]
push 0x10
push eax
call fcn.1050ab30
push 1
push 0
push dword [esi + 0x114]
lea eax, [ebp - 0xb8]
push 0x10
push eax
call fcn.1050ab30
push 1
push 0
push dword [esi + 0x118]
lea eax, [ebp - 0xa8]
push 0x10
push eax
call fcn.1050ab30
add esp, 0x3c
push 1
call fcn.10509da0
push 0
push eax
lea eax, [ebp - 0xc8]
push 0x10
push eax
call fcn.1050ab30
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xdc0], 3
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x64]
push eax
push str._Memory:__s__video____s__system____s__shared____s__process_
push 0x8f
push 2
push 0
push edi
call fcn.104d2410
add esp, 0x38
mov dword [ebp - 0xd90], 0
lea esi, [ebp - 0x240]
push 1
push dword [esi - 0xc]
lea eax, [ebp - 0x54]
push dword [esi - 0x10]
push 0x10
push eax
call fcn.1050ab30
push 1
push dword [esi - 4]
lea eax, [ebp - 0x94]
push dword [esi - 8]
push 0x10
push eax
call fcn.1050ab30
push 1
push dword [esi + 4]
lea eax, [ebp - 0x84]
push dword [esi]
push 0x10
push eax
call fcn.1050ab30
push 1
push dword [esi + 0xc]
lea eax, [ebp - 0x74]
push dword [esi + 8]
push 0x10
push eax
call fcn.1050ab30
mov eax, dword [ebp - 0xdc0]
add esp, 0x50
movzx ecx, ax
mov edx, str.Non_local
inc eax
cmp dword [ebp - 0xd90], 0
mov dword [ebp - 0xdc0], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, str.Local
cmovne eax, edx
push eax
push str.____s___Budget:__10s__Usage:__10s__AvailRes:__10s__CurrRes:__10s
push 0x8f
push ecx
push 0
push edi
call fcn.104d2410
mov eax, dword [ebp - 0xd90]
lea esi, [esi + 0x20]
inc eax
add esp, 0x28
mov dword [ebp - 0xd90], eax
cmp eax, 2
jb 0x104e4010
mov edx, dword [ebp - 0xda4]
mov ecx, dword [ebp - 0xde8]
call fcn.10511ed0
movsd xmm1, qword [ebp - 0xdb0]
sub esp, 8
mulsd xmm1, xmm0
mov edx, dword [0x10b33534]
mov ecx, dword [0x10b33530]
movsd qword [ebp - 0xe30], xmm1
movsd xmm1, qword [ebp - 0xe70]
divsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.10511ed0
mulsd xmm0, qword [ebp - 0xdb0]
sub esp, 8
mov edx, dword [0x10b33524]
mov ecx, dword [0x10b33520]
movsd qword [esp], xmm0
call fcn.10511ed0
mulsd xmm0, qword [ebp - 0xdb0]
sub esp, 0x10
mov esi, dword [ebp - 0xd7c]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0xe30]
movsd qword [esp], xmm0
push str._______Frame:___7.3f____7.3f
push 0x8b
push 0xa
push 0xa
push esi
call fcn.104d2410
mov edx, dword [0x10b3355c]
add esp, 0x34
mov ecx, dword [0x10b33558]
call fcn.10511ed0
mulsd xmm0, qword [ebp - 0xdb0]
sub esp, 8
mov edx, dword [0x10b3354c]
mov ecx, dword [0x10b33548]
movsd qword [esp], xmm0
call fcn.10511ed0
mulsd xmm0, qword [ebp - 0xdb0]
sub esp, 8
mov edi, dword [ebp - 0xd88]
mov edx, dword [edi + 0x1d4]
mov ecx, dword [edi + 0x1d0]
movsd qword [esp], xmm0
call fcn.10511ed0
mulsd xmm0, qword [ebp - 0xdb0]
sub esp, 8
movsd qword [esp], xmm0
push str._____Present:___7.3f____7.3f
push 0x8b
push 0xb
push 0xa
push esi
call fcn.104d2410
mov eax, dword [edi + 0xa580]
mov edx, eax
and eax, 0x100
shr edx, 4
and edx, 7
mov dword [ebp - 0xdec], 0xfffffffe
neg eax
mov ecx, edx
sbb eax, eax
and eax, 0xffffffde
add eax, 0x20
push eax
mov eax, 1
shl eax, cl
mov ecx, 0x20
push eax
test edx, edx
mov eax, ecx
cmovne eax, dword [ebp - 0xdec]
test byte [edi + 0xa580], 0x80
push eax
cmovne ecx, dword [ebp - 0xdec]
push ecx
push str._Reset_flags:___c__vsync____c__MSAAx_d____c__MaxAnisotropy
push 0x8b
push 0xc
push 0xa
push esi
call fcn.104d2410
movsd xmm0, qword [ebp - 0xe30]
add esp, 0x50
mov eax, dword [ebp - 0xd60]
sub esp, 8
mov esi, 0xe
movsd qword [esp], xmm0
push dword [ebp - 0xe48]
push dword [ebp - 0xe4c]
push dword [eax + 0x18c57a4]
push str.___Submitted:__5d__draw__5d__compute__4d____CPU__7.4f__ms_
push 0x8b
push 0xd
push 0xa
push dword [ebp - 0xd7c]
call fcn.104d2410
add esp, 0x28
xor edi, edi
nop word [eax + eax]
push dword [ebp + edi*4 - 0x190]
mov ecx, 4
movzx eax, si
push dword [ebp + edi*4 - 0x178]
cmp edi, ecx
push dword [ebp + edi*4 - 0x160]
cmovl ecx, edi
inc esi
push dword [ecx*4 + 0x10a76480]
push str.____9s:__7d__inst:__5d___submitted:__7d
push 0x8b
push eax
push 0xa
push dword [ebp - 0xd7c]
call fcn.104d2410
inc edi
add esp, 0x24
cmp edi, 5
jb 0x104e42b0
mov edi, dword [ebp - 0xd88]
movzx eax, si
inc esi
push dword [edi + 0xa550]
push dword [edi + 0xa560]
push dword [edi + 0xa558]
push str._______Batch:__7dx_d_indirect___7d_immediate
push 0x8b
push eax
lea eax, [edi + 0x1a8108]
push 0xa
push eax
call fcn.104d2410
push dword [edi + 0xa554]
movzx eax, si
inc esi
push dword [edi + 0xa560]
push dword [edi + 0xa55c]
push str._______________7dx_d_indirect___7d_immediate
push 0x8b
push eax
lea eax, [edi + 0x1a8108]
push 0xa
push eax
call fcn.104d2410
add esp, 0x40
cmp dword [edi + 0x164], 0
je 0x104e4392
mov ax, word [edi + 0x1a8110]
lea ecx, [edi + 0x1a8108]
push str.__F11___RenderDoc_capture_
push 0x4f
sub ax, 0x1b
push 0
movzx eax, ax
push eax
push ecx
call fcn.104d2410
add esp, 0x14
push dword [ebp - 0xe44]
movzx eax, si
inc esi
push str.______Indices:__7d
push 0x8b
push eax
lea eax, [edi + 0x1a8108]
push 0xa
push eax
call fcn.104d2410
mov ecx, dword [ebp - 0xd60]
movzx eax, si
inc esi
push dword [ecx + 0x18c57b0]
push str._____DVB_size:__7d
push 0x8b
push eax
lea eax, [edi + 0x1a8108]
push 0xa
push eax
call fcn.104d2410
mov eax, dword [ebp - 0xd60]
push dword [eax + 0x18c57ac]
lea eax, [edi + 0x1a8108]
push str._____DIB_size:__7d
push 0x8b
push esi
push 0xa
push eax
call fcn.104d2410
add esp, 0x48
add esi, 2
movzx eax, si
inc esi
push 0x10a435c4
push 0x8b
push eax
lea eax, [edi + 0x1a8108]
push 0xa
push eax
call fcn.104d2410
push str._PSO_____Sampler__Bind____Queued
movzx eax, si
inc esi
push 0x8b
push eax
lea eax, [edi + 0x1a8108]
push 0xa
push eax
call fcn.104d2410
mov edx, dword [edi + 0x96a0]
sub edx, dword [edi + 0x96a8]
mov eax, dword [edi + 0x969c]
mov ecx, edx
sar ecx, 0x1f
add eax, edx
and eax, ecx
not ecx
and ecx, edx
or eax, ecx
push eax
push dword [ebp - 0xd58]
lea eax, [edi + 0x1a8108]
push dword [edi + 0x1a80f8]
push dword [edi + 0x1a80e8]
push str.__6d____6d___6d___6d
push 0x8b
push esi
push 0xa
push eax
call fcn.104d2410
movsd xmm0, qword [ebp - 0xdb0]
add esi, 2
mulsd xmm0, qword [0x1059ba60]
add esp, 0x4c
movzx eax, si
inc esi
sub esp, 8
movsd qword [esp], xmm0
push str._____Capture:__7.4f__ms_
push 0x8b
push eax
lea eax, [edi + 0x1a8108]
push 0xa
push eax
call fcn.104d2410
mov eax, dword [ebp - 0xd60]
add esp, 0x1c
mov edx, dword [eax + 0x18e0674]
mov ecx, dword [eax + 0x18e0670]
cmp edx, dword [eax + 0x18e067c]
jg 0x104e4502
jl 0x104e44f2
cmp ecx, dword [eax + 0x18e0678]
jae 0x104e4502
mov byte [ebp - 0xdc0], 0x8a
mov byte [ebp - 0xde0], 0x8c
jmp 0x104e4510
mov byte [ebp - 0xdc0], 0x8c
mov byte [ebp - 0xde0], 0x8a
call fcn.10511ed0
mulsd xmm0, qword [ebp - 0xdb0]
lea eax, [edi + 0x1a8108]
sub esp, 8
movsd qword [esp], xmm0
push str._Submit_wait:__7.4f__ms_
push dword [ebp - 0xdc0]
push esi
push 0xa
push eax
call fcn.104d2410
mov eax, dword [ebp - 0xd60]
add esp, 0x1c
mov edx, dword [eax + 0x18e067c]
mov ecx, dword [eax + 0x18e0678]
call fcn.10511ed0
mulsd xmm0, qword [ebp - 0xdb0]
lea eax, [esi + 1]
sub esp, 8
lea esi, [edi + 0x1a8108]
movsd qword [esp], xmm0
push str._Render_wait:__7.4f__ms_
push dword [ebp - 0xde0]
push eax
push 0xa
push esi
call fcn.104d2410
mov eax, dword [ebp - 0xde8]
add esp, 0x1c
mov ecx, dword [ebp - 0xda4]
mov dword [0x10b33520], eax
mov dword [0x10b33524], ecx
mov dword [0x10b33530], eax
mov dword [0x10b33534], ecx
mov eax, dword [edi + 0x1d0]
mov ecx, dword [edi + 0x1d4]
mov dword [0x10b33548], eax
mov dword [0x10b3354c], ecx
mov eax, dword [edi + 0x1d0]
mov ecx, dword [edi + 0x1d4]
mov dword [0x10b33558], eax
mov dword [0x10b3355c], ecx
push esi
jmp 0x104e45e6
test al, 8
je 0x104e45f5
push dword [esi + 0x18cd598]
push dword [ebp - 0xde4]
push edi
call fcn.104a3390
add esp, 0xc
mov eax, dword [edi + 0xa570]
push 0
push 0
push 0
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0xb8]
mov eax, dword [edi + 0x1c4]
test eax, eax
je 0x104e465e
push 0x2000
push 4
push eax
push dword [edi + 0xa570]
call fcn.104dc8c0
mov ecx, dword [edi + 0xa570]
add esp, 0x10
mov eax, dword [edi + 0x1c811c]
push dword [edi + 0xa594]
mov edx, dword [ecx]
push 0
push dword [edi + 0x1c4]
push 0
push dword [edi + eax*4 + 0x7d58]
push ecx
call dword [edx + 0x4c]
push 0
push 0x1000
jmp 0x104e466b
cmp dword [edi + 0x1c0], 0
je 0x104e4686
push 0
push 4
mov eax, dword [edi + 0x1c811c]
push dword [edi + eax*4 + 0x7d58]
push dword [edi + 0xa570]
call fcn.104dc8c0
add esp, 0x10
movzx ecx, word [edi + 0x1d8]
cmp ecx, 1
jbe 0x104e46f9
dec ecx
lea esi, [edi + 0x1dc]
mov dword [ebp - 0xde4], ecx
nop
movzx eax, word [esi]
imul eax, eax, 0xb0
add eax, 0x1a01d8
add eax, edi
mov dword [ebp - 0xdfc], eax
mov edx, dword [eax + 0x14]
test edx, edx
je 0x104e46eb
mov eax, dword [edx]
push edx
call dword [eax + 0x90]
mov ecx, dword [ebp - 0xdfc]
push 0
mov byte [ebp - 0xdec], al
push dword [ebp - 0xdec]
push dword [edi + 0xa570]
call fcn.104dcfe0
mov ecx, dword [ebp - 0xde4]
add esi, 2
sub ecx, 1
mov dword [ebp - 0xde4], ecx
jne 0x104e46a0
mov ecx, edi
call fcn.104cf710
mov ecx, dword [edi + 0x1c811c]
mov dword [edi + ecx*8 + 0x7d68], eax
mov dword [edi + ecx*8 + 0x7d6c], edx
lea ecx, [ebp - 0xd58]
call fcn.1049f790
mov ecx, dword [ebp - 0xe80]
mov ax, word [ebp - 0xe74]
mov word [ecx + 0x18cd660], ax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x44]
xor ecx, ebp
call fcn.105116c0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
push 0x10b33528
call fcn.10512c70
add esp, 4
cmp dword [0x10b33528], 0xffffffff
jne 0x104e3ac2
mov eax, dword [ebp - 0xda4]
push 0x10b33528
mov dword [0x10b33520], esi
mov dword [0x10b33524], eax
call fcn.10512c1f
add esp, 4
jmp 0x104e3ac2
push 0x10b33538
call fcn.10512c70
add esp, 4
cmp dword [0x10b33538], 0xffffffff
jne 0x104e3ad9
mov eax, dword [ebp - 0xda4]
push 0x10b33538
mov dword [0x10b33530], esi
mov dword [0x10b33534], eax
call fcn.10512c1f
add esp, 4
jmp 0x104e3ad9
push 0x10b33550
call fcn.10512c70
add esp, 4
cmp dword [0x10b33550], 0xffffffff
jne 0x104e3b42
mov eax, dword [edi + 0x1d0]
mov ecx, dword [edi + 0x1d4]
push 0x10b33550
mov dword [0x10b33548], eax
mov dword [0x10b3354c], ecx
call fcn.10512c1f
add esp, 4
jmp 0x104e3b42
push 0x10b33560
call fcn.10512c70
add esp, 4
cmp dword [0x10b33560], 0xffffffff
jne 0x104e3b53
mov eax, dword [edi + 0x1d0]
mov ecx, dword [edi + 0x1d4]
push 0x10b33560
mov dword [0x10b33558], eax
mov dword [0x10b3355c], ecx
call fcn.10512c1f
add esp, 4
jmp 0x104e3b53
push 0x10b33570
call fcn.10512c70
add esp, 4
cmp dword [0x10b33570], 0xffffffff
jne 0x104e3e59
mov eax, dword [ebp - 0xdb4]
mov dword [0x10b33568], eax
mov eax, dword [ebp - 0xd90]
push 0x10b33570
mov dword [0x10b3356c], eax
call fcn.10512c1f
add esp, 4
jmp 0x104e3e59