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

Disassembly:
sub esp, 0x60
push ebx
push ebp
push esi
mov esi, dword [esp + 0x78]
push edi
xor edi, edi
mov byte [esp + 0x13], 0
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0
mov dword [esp + 0x18], edi
test esi, esi
je 0x1021712d
cmp dword [esi], 0xc0dedbad
jne 0x1021712d
mov ebp, dword [esp + 0x74]
mov ebx, fcn.10214a60
cmp byte [ebp + 0x108], 0
je 0x10216241
mov edi, 0x2a
push esi
mov dword [esp + 0x1c], edi
call fcn.10007440
push 0
push edi
push esi
call fcn.10215c20
add esp, 0x10
cmp dword [esi + 0x34], 0xf
je 0x10216241
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
test ebx, ebx
je 0x10216241
push esi
call fcn.10214a60
add esp, 4
mov al, byte [ebp + 0x106]
xor ebx, ebx
mov byte [esp + 0x11], 0
mov byte [ebp + 0x106], bl
test al, al
je 0x10216261
push ebp
call fcn.10217970
add esp, 4
mov eax, dword [esi + 0x34]
cmp eax, 2
jle 0x10216277
cmp eax, 0xf
jge 0x10216277
cmp dword [esi + 0x18], ebx
je case.default.0x102162ba
cmp dword [esi + 0x18], ebx
je 0x102162ae
cmp eax, 2
jl 0x102162ae
cmp eax, 0xf
jge 0x102162ae
push 0
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x19]
push eax
push dword [esp + 0x84]
push esi
call fcn.10216050
mov edi, dword [esp + 0x2c]
add esp, 0x14
test al, al
jne 0x10216f7c
mov eax, dword [esi + 0x34]
cmp eax, 0x10
ja case.default.0x102162ba
jmp dword [eax*4 + 0x1021713c]
push esi
call fcn.1022b510
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x102162ba.1
cmp dword [esi + 0x34], 2
je 0x102162f7
mov eax, fcn.1022b470
mov dword [esi + 0x34], 2
test eax, eax
je 0x102162f7
push esi
call fcn.1022b470
add esp, 4
push 1
lea eax, [esp + 0x44]
push esi
push eax
call fcn.10235210
mov ecx, dword [esp + 0x84]
add esp, 0xc
or ebx, 0xffffffff
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
jmp 0x10216f40
push esi
call fcn.10214fe0
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x102162ba.1
push 2
lea eax, [esp + 0x54]
push esi
push eax
call fcn.10235210
add esp, 0xc
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x78]
movups xmmword [eax], xmm0
mov eax, dword [esi + 0x1e0]
test eax, eax
je 0x10216364
push 0xa
push edi
push eax
push esi
call fcn.10214b30
add esp, 0x10
mov eax, dword [esi + 0x1e4]
test eax, eax
je 0x1021637c
push 2
push 0
push eax
push esi
call fcn.10214b30
add esp, 0x10
lea eax, [esp + 0x12]
push eax
lea eax, [esp + 0x1b]
push eax
push esi
call fcn.10220f40
mov edi, eax
add esp, 0xc
mov dword [esp + 0x18], edi
cmp edi, 0x59
jne 0x102163cd
cmp dword [esi + 0x34], 1
je 0x102163a7
mov dword [esi + 0x34], 1
lea eax, [esi + 0x1c]
push eax
push esi
push dword [ebp + 0x28]
lea eax, [ebp + 0x24]
push eax
call fcn.1022de10
push esi
push ebp
call fcn.102180a0
add esp, 0x18
xor edi, edi
mov dword [esp + 0x18], edi
jmp case.0x102162ba.1
cmp byte [esi + 0xd00], bl
je 0x102163eb
push str.Transfer_was_pending__now_try_another
push esi
call fcn.102260f0
push dword [esi + 0x7c]
call fcn.10217970
add esp, 0xc
test edi, edi
jne case.0x102162ba.1
push 3
lea eax, [esp + 0x64]
push esi
push eax
call fcn.10235210
mov ecx, dword [esp + 0x84]
add esp, 0xc
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
cmp byte [esp + 0x17], bl
je 0x1021642c
cmp dword [esi + 0x34], 3
je 0x10216f40
mov dword [esi + 0x34], 3
jmp 0x10216f40
or ebx, 0xffffffff
cmp byte [esp + 0x12], 0
je 0x10216525
cmp dword [esi + 0x34], 6
je 0x10216f40
mov dword [esi + 0x34], 6
jmp 0x10216f40
mov eax, dword [esi + 0x18]
mov dword [esp + 0x1c], ebx
cmp byte [eax + 0x1a8], bl
je 0x10216464
mov ebx, dword [eax + 0x78]
jmp 0x10216474
cmp byte [eax + 0x1b1], bl
je 0x10216471
mov ebx, dword [eax + 0x48]
jmp 0x10216474
mov ebx, dword [eax + 0x30]
push dword [eax + 0x36c]
push ebx
push esi
call fcn.1022e4e0
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x102164b4
push ebx
push 0x10279744
xor edi, edi
mov dword [esi + 0x944], eax
push esi
mov byte [esi + 0x958], 1
mov dword [esp + 0x24], edi
call fcn.102260f0
add esp, 0xc
cmp dword [esp + 0x1c], edi
jne 0x102164c8
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.1022eef0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
push esi
push ebp
call fcn.10217d40
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x102170b0
cmp dword [esp + 0x1c], eax
je 0x102164fd
lea eax, [esp + 0x12]
push eax
push esi
call fcn.1022eb30
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
je 0x10216513
mov dword [esi + 0x18], ebx
mov ecx, dword [esp + 0x78]
test edi, edi
je 0x10216f40
mov byte [esp + 0x11], 1
jmp 0x10216f40
mov ecx, dword [esp + 0x78]
or ebx, 0xffffffff
cmp byte [esp + 0x12], 0
jne 0x1021643a
cmp dword [esi + 0x34], 4
je 0x10216f40
mov dword [esi + 0x34], 4
jmp 0x10216f40
lea eax, [esp + 0x13]
push eax
push esi
call fcn.10230400
mov edi, eax
add esp, 8
mov eax, dword [esi + 0x18]
mov dword [esp + 0x18], edi
cmp byte [eax + 0x1ac], bl
je 0x10216597
xor edi, edi
or ebx, 0xffffffff
push edi
push edi
push esi
mov dword [esp + 0x24], edi
call fcn.10215c20
add esp, 0xc
cmp dword [esi + 0x34], 2
je case.0x102162ba.1
mov eax, fcn.1022b470
mov dword [esi + 0x34], 2
test eax, eax
je case.0x102162ba.1
push esi
call fcn.1022b470
jmp 0x10216f39
test edi, edi
jne 0x102165ef
mov ecx, dword [esp + 0x78]
or ebx, 0xffffffff
jmp 0x1021643a
lea eax, [esp + 0x12]
push eax
push 0
push 0
push esi
call fcn.10225750
add esp, 0x10
mov edi, eax
mov dword [esp + 0x18], edi
cmp byte [esp + 0x12], bl
je 0x102165d5
test edi, edi
jne 0x102165dd
mov ecx, dword [esp + 0x78]
or ebx, 0xffffffff
jmp 0x1021643a
test edi, edi
je case.0x102162ba.1
push esi
call fcn.10007440
push 1
push edi
push esi
call fcn.10215c20
add esp, 0x10
mov byte [esp + 0x11], 1
jmp case.0x102162ba.1
cmp byte [esi + 0xd06], bl
je 0x10216610
push esi
call fcn.10217b30
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne 0x102165dd
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], bl
je 0x10216634
cmp dword [esi + 0x34], 8
je 0x1021662c
mov dword [esi + 0x34], 8
or ebx, 0xffffffff
jmp case.0x102162ba.1
lea eax, [esp + 0x13]
push eax
push esi
call fcn.102179f0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x102165dd
cmp byte [esp + 0x13], bl
jne 0x1021661f
cmp dword [esi + 0x34], 7
je 0x1021665f
mov dword [esi + 0x34], 7
or ebx, 0xffffffff
jmp case.0x102162ba.1
lea eax, [esp + 0x13]
push eax
push esi
call fcn.10217a70
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x102165dd
cmp byte [esp + 0x13], bl
je case.0x102162ba.1
cmp dword [esi + 0x34], 8
je 0x1021662c
mov dword [esi + 0x34], 8
or ebx, 0xffffffff
jmp case.0x102162ba.1
cmp dword [esi + 0x1bc], ebx
je 0x1021671b
push 1
push esi
call fcn.10215020
push dword [esi + 0xdbc]
lea eax, [esi + 0xd8c]
push dword [esi + 0xd84]
push eax
lea eax, [esi + 0xd54]
push eax
push dword [esi + 0x1c0]
mov eax, dword [esi + 0x1bc]
call eax
push 0
push esi
mov edi, eax
call fcn.10215020
add esp, 0x24
test edi, edi
je 0x1021671b
push str.operation_aborted_by_pre_request_callback
push esi
call fcn.10226020
mov edi, 0x2a
push esi
mov dword [esp + 0x24], edi
call fcn.10007440
push 0
push edi
push esi
call fcn.10215c20
add esp, 0x18
mov byte [esp + 0x11], 1
jmp case.0x102162ba.1
cmp byte [esi + 0x65d], 1
jne 0x1021674c
push 0
push dword [esi + 0x18]
call fcn.10227460
add esp, 8
cmp dword [esi + 0x34], 0xe
je 0x1021673e
mov dword [esi + 0x34], 0xe
xor edi, edi
or ebx, 0xffffffff
mov dword [esp + 0x18], edi
jmp case.0x102162ba.1
mov eax, dword [esi + 0x18]
xor edi, edi
mov eax, dword [eax + 0x1c4]
mov eax, dword [eax + 8]
test eax, eax
je 0x1021676b
lea ecx, [esp + 0x14]
push ecx
push esi
call eax
add esp, 8
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x102167d5
cmp byte [esp + 0x14], bl
jne 0x1021678e
cmp dword [esi + 0x34], 9
je 0x102167cd
mov dword [esi + 0x34], 9
or ebx, 0xffffffff
jmp case.0x102162ba.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1b5], bl
je 0x102167ae
cmp dword [esi + 0x34], 0xa
je 0x102167cd
mov dword [esi + 0x34], 0xa
or ebx, 0xffffffff
jmp case.0x102162ba.1
cmp dword [esi + 0x34], 0xb
je 0x102167cd
mov eax, fcn.10214a40
mov dword [esi + 0x34], 0xb
test eax, eax
je 0x102167cd
push esi
call fcn.10214a40
add esp, 4
or ebx, 0xffffffff
jmp case.0x102162ba.1
cmp edi, 0x37
jne 0x1021689e
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], bl
je 0x1021689e
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
push eax
push esi
call fcn.1022bbd0
add esp, 8
test eax, eax
je 0x1021680e
mov edi, eax
mov byte [esp + 0x11], 1
mov dword [esp + 0x18], edi
push esi
call fcn.10007440
push 0
push edi
push esi
call fcn.10215c20
mov ecx, dword [esp + 0x2c]
add esp, 0x10
test ecx, ecx
je 0x1021688d
test eax, eax
je 0x10216843
cmp eax, 0x37
je 0x10216843
mov edi, eax
push ecx
mov dword [esp + 0x1c], edi
call dword [0x10295004]
jmp 0x10216f39
push 2
push ecx
push esi
call fcn.1022af60
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x10216879
cmp dword [esi + 0x34], 2
je 0x10216874
mov eax, fcn.1022b470
mov dword [esi + 0x34], 2
test eax, eax
je 0x10216874
push esi
call fcn.1022b470
add esp, 4
or ebx, 0xffffffff
xor edi, edi
mov ecx, dword [esp + 0x1c]
push ecx
mov dword [esp + 0x1c], edi
call dword [0x10295004]
jmp 0x10216f39
push ecx
mov byte [esp + 0x15], 1
call dword [0x10295004]
jmp 0x10216f39
push esi
call fcn.10007440
add esp, 4
cmp dword [esi + 0x18], ebx
je 0x102168b8
push 0
push edi
push esi
call fcn.10215c20
add esp, 0xc
mov byte [esp + 0x11], 1
jmp case.0x102162ba.1
lea eax, [esp + 0x14]
push eax
push esi
call fcn.10217ab0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x10216907
cmp byte [esp + 0x14], bl
je case.0x102162ba.1
mov eax, dword [esi + 0x18]
xor ecx, ecx
cmp byte [eax + 0x1b5], cl
sete cl
add ecx, 0xa
push ecx
push esi
call fcn.10215b60
add esp, 8
or ebx, 0xffffffff
jmp case.0x102162ba.1
push esi
call fcn.10007440
push 0
push edi
push esi
call fcn.10215c20
add esp, 0x10
mov byte [esp + 0x11], 1
jmp case.0x102162ba.1
mov eax, dword [esi + 0x18]
xor ecx, ecx
mov dword [esp + 0x30], ecx
xor edi, edi
mov eax, dword [eax + 0x1c4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1021694c
lea ecx, [esp + 0x30]
push ecx
push esi
call eax
mov ecx, dword [esp + 0x38]
add esp, 8
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x10216907
test ecx, ecx
je case.0x102162ba.1
xor eax, eax
cmp ecx, 1
sete al
lea eax, [eax*2 + 9]
push eax
push esi
call fcn.10215b60
add esp, 8
or ebx, 0xffffffff
jmp case.0x102162ba.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1bb], bl
je 0x10216991
push ebp
call fcn.10217970
add esp, 4
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x1e0], 0xffffffff
jne 0x102169bb
cmp dword [eax + 0x1e4], 0xffffffff
jne 0x102169bb
cmp dword [esi + 0x34], 0xe
je 0x102169c8
mov dword [esi + 0x34], 0xe
or ebx, 0xffffffff
jmp case.0x102162ba.1
cmp dword [esi + 0x34], 0xc
je 0x102169c8
mov dword [esi + 0x34], 0xc
or ebx, 0xffffffff
jmp case.0x102162ba.1
push esi
call fcn.102353e0
add esp, 4
test eax, eax
je 0x102169e8
mov edi, 0x2a
mov dword [esp + 0x18], edi
jmp 0x10216a0a
mov ecx, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.10236650
mov edi, eax
add esp, 0x14
mov dword [esp + 0x18], edi
test edi, edi
je 0x10216a40
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c4]
test byte [eax + 0x4c], 2
jne 0x10216a29
cmp edi, 0x5c
je 0x10216a29
push 2
push ecx
call fcn.10227460
add esp, 8
push esi
call fcn.10007440
push 1
push edi
push esi
call fcn.10215c20
add esp, 0x10
jmp case.0x102162ba.1
mov edx, dword [esi + 0x208]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x20c]
mov eax, edx
or eax, ecx
movlpd qword [esp + 0x34], xmm0
je 0x10216aa9
mov ebp, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x768]
push ecx
push edx
push dword [esi + 0x77c]
movups xmmword [eax], xmm0
push dword [esi + 0x778]
push dword [esi + 0x6c4]
push dword [esi + 0x6c0]
call fcn.10234f50
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov dword [esp + 0x20], edx
jmp 0x10216ab5
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esi + 0x210]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x214]
mov dword [esp + 0x1c], eax
mov eax, edx
or eax, ecx
movlpd qword [esp + 0x28], xmm0
je 0x10216b20
mov ebp, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x780]
push ecx
push edx
push dword [esi + 0x794]
movups xmmword [eax], xmm0
push dword [esi + 0x790]
push dword [esi + 0x6bc]
push dword [esi + 0x6b8]
call fcn.10234f50
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov ecx, eax
jmp 0x10216b28
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
or eax, dword [esp + 0x20]
jne 0x10216b62
mov eax, ecx
or eax, edx
jne 0x10216b62
cmp dword [esi + 0x34], 0xc
je 0x10216b45
mov dword [esi + 0x34], 0xc
mov ecx, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.10235570
add esp, 0x14
jmp case.0x102162ba.1
cmp dword [esp + 0x20], edx
jl 0x10216b87
mov eax, dword [esp + 0x1c]
jg 0x10216b72
cmp eax, ecx
jb 0x10216b87
push 0xb
push dword [esp + 0x24]
push eax
push esi
call fcn.10214b30
add esp, 0x10
jmp case.0x102162ba.1
push 0xb
push edx
push ecx
push esi
call fcn.10214b30
add esp, 0x10
jmp case.0x102162ba.1
mov edx, dword [esi + 0x208]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x20c]
mov eax, edx
or eax, ecx
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x16], bl
movlpd qword [esp + 0x34], xmm0
je 0x10216c0a
mov ebp, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x768]
push ecx
push edx
push dword [esi + 0x77c]
movups xmmword [eax], xmm0
push dword [esi + 0x778]
push dword [esi + 0x6c4]
push dword [esi + 0x6c0]
call fcn.10234f50
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov dword [esp + 0x24], edx
jmp 0x10216c16
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esi + 0x210]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x214]
mov dword [esp + 0x20], eax
mov eax, edx
or eax, ecx
movlpd qword [esp + 0x28], xmm0
je 0x10216c85
mov ebp, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x780]
push ecx
push edx
push dword [esi + 0x794]
movups xmmword [eax], xmm0
push dword [esi + 0x790]
push dword [esi + 0x6bc]
push dword [esi + 0x6b8]
call fcn.10234f50
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov ecx, eax
mov dword [esp + 0x28], eax
jmp 0x10216c91
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x20]
or eax, dword [esp + 0x24]
mov dword [esp + 0x34], edx
jne 0x10216e84
mov eax, ecx
or eax, edx
jne 0x10216e84
lea eax, [esp + 0x15]
push eax
push esi
call fcn.1022b840
add esp, 8
mov edi, eax
mov dword [esp + 0x18], edi
cmp byte [esp + 0x15], bl
jne 0x10216d07
cmp edi, 0x38
je 0x10216d07
cmp edi, 0x5c
jne 0x10216d3f
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c4]
test byte [eax + 0x4c], 2
jne 0x10216cf0
cmp edi, 0x5c
je 0x10216cf0
push 2
push ecx
call fcn.10227460
add esp, 8
push esi
call fcn.10007440
push 1
push edi
push esi
call fcn.10215c20
add esp, 0x10
jmp case.0x102162ba.1
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.1022bbd0
add esp, 8
test eax, eax
jne 0x10216d35
cmp dword [esp + 0x1c], ebx
setne al
mov byte [esp + 0x16], al
test al, al
je 0x10216d3f
xor edi, edi
mov byte [esp + 0x15], 1
mov dword [esp + 0x18], edi
jmp 0x10216d4d
test edi, edi
jne 0x10216cd1
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x10216cd1
cmp byte [esp + 0x15], bl
je 0x10216e64
push esi
call fcn.10007440
add esp, 4
cmp dword [esi + 0x110], ebx
jne 0x10216de2
cmp byte [esp + 0x16], bl
jne 0x10216e0c
cmp dword [esi + 0x10c], ebx
je 0x10216dcd
push dword [esp + 0x1c]
call dword [0x10295004]
mov eax, dword [esi + 0x10c]
push 1
push eax
push esi
mov dword [esp + 0x2c], eax
mov dword [esi + 0x10c], ebx
call fcn.1022af60
push dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x2c], edi
call dword [0x10295004]
add esp, 0x14
test edi, edi
je 0x10216dcd
push 1
push edi
push esi
mov byte [esp + 0x1d], 1
call fcn.10215c20
mov edi, eax
add esp, 0xc
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x102162ba.1
cmp dword [esi + 0x34], 0xe
je 0x10216dda
mov dword [esi + 0x34], 0xe
or ebx, 0xffffffff
jmp case.0x102162ba.1
cmp byte [esp + 0x16], bl
jne 0x10216e0c
push dword [esp + 0x1c]
call dword [0x10295004]
mov eax, dword [esi + 0x110]
add esp, 4
mov dword [esp + 0x1c], eax
mov edi, 3
mov dword [esi + 0x110], ebx
jmp 0x10216e11
mov edi, 2
push 0
push 0
push esi
call fcn.10215c20
push edi
push dword [esp + 0x2c]
push esi
call fcn.1022af60
mov edi, eax
add esp, 0x18
mov dword [esp + 0x18], edi
test edi, edi
jne 0x10216e55
cmp dword [esi + 0x34], 2
je 0x10216e52
mov eax, fcn.1022b470
mov dword [esi + 0x34], 2
test eax, eax
je 0x10216e52
push esi
call fcn.1022b470
add esp, 4
or ebx, 0xffffffff
push dword [esp + 0x1c]
call dword [0x10295004]
jmp 0x10216f39
cmp byte [esi + 0xcf3], bl
je case.0x102162ba.1
push 8
push 0
push 0
push esi
call fcn.10214b30
add esp, 0x10
jmp case.0x102162ba.1
mov ecx, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.10235570
add esp, 0x14
cmp dword [esi + 0x34], 0xd
je 0x10216ea9
mov dword [esi + 0x34], 0xd
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
cmp edx, ecx
jl 0x10216ed3
jg 0x10216ec1
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x20], eax
jb 0x10216ed7
push 0xb
push edx
push dword [esp + 0x28]
push esi
call fcn.10214b30
add esp, 0x10
jmp case.0x102162ba.1
mov eax, dword [esp + 0x28]
push 0xb
push ecx
push eax
push esi
call fcn.10214b30
add esp, 0x10
jmp case.0x102162ba.1
mov eax, dword [esi + 0x18]
or ebx, 0xffffffff
test eax, eax
je 0x10216f17
cmp byte [eax + 0x1bb], 0
je 0x10216f02
push ebp
call fcn.10217970
add esp, 4
push 0
push edi
push esi
call fcn.10215c20
add esp, 0xc
test edi, edi
cmove edi, eax
mov dword [esp + 0x18], edi
cmp dword [esi + 0x34], 0xf
je case.0x102162ba.1
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
mov eax, fcn.10214a60
test eax, eax
je case.0x102162ba.1
push esi
call fcn.10214a60
add esp, 4
mov ecx, dword [esp + 0x78]
cmp dword [esi + 0x18], 0
je 0x10216f7c
mov eax, dword [esi + 0x34]
cmp eax, 2
jl 0x10216f7c
cmp eax, 8
jge 0x10216f7c
cmp ebx, 0xffffffff
je 0x10216f7c
mov al, byte [ebp + 0x106]
test al, al
jne 0x10216f7c
push 1
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x19]
push eax
push ecx
push esi
call fcn.10216050
mov edi, dword [esp + 0x2c]
add esp, 0x14
cmp dword [esi + 0x34], 0xf
jge 0x10217094
test edi, edi
je 0x1021701d
push ebp
call fcn.10217970
mov ebx, dword [esi + 0x18]
add esp, 4
test ebx, ebx
je 0x10216fe6
cmp byte [esp + 0x11], 0
je 0x10216ff5
cmp edi, 0x1c
push esi
push ebx
sete byte [esp + 0x44]
call fcn.10225880
push 0
lea eax, [esi + 0x28]
push eax
lea eax, [ebx + 0x21c]
push eax
call fcn.1022de80
push 1
push ebx
push esi
mov dword [esi + 0x18], 0
call fcn.1021da70
push dword [esp + 0x5c]
push ebx
push esi
call fcn.10221010
add esp, 0x2c
jmp 0x10216ff5
cmp dword [esi + 0x34], 2
jne 0x10216ff5
push esi
call fcn.10007440
add esp, 4
cmp dword [esi + 0x34], 0xf
je 0x1021708d
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
mov eax, fcn.10214a60
test eax, eax
je 0x1021708d
push esi
call fcn.10214a60
jmp 0x1021708a
cmp dword [esi + 0x18], 0
je 0x10217090
push esi
call fcn.102353e0
add esp, 4
test eax, eax
je 0x10217090
push 2
push dword [esi + 0x18]
mov edi, 0x2a
mov dword [esp + 0x20], edi
call fcn.10227460
mov ecx, dword [esi + 0x34]
xor eax, eax
add esp, 8
cmp ecx, 0xe
setge al
add eax, 0xe
cmp ecx, eax
je 0x1021708d
mov dword [esi + 0x34], eax
cmp ecx, 0xe
jl 0x10217066
mov eax, dword [esi + 0x7c]
dec dword [eax + 0x10]
xor eax, eax
cmp ecx, 0xe
setge al
cmp dword [eax*4 + 0x102794f0], 0
je 0x1021708d
xor eax, eax
cmp ecx, 0xe
push esi
setge al
mov eax, dword [eax*4 + 0x102794f0]
call eax
add esp, 4
or ebx, 0xffffffff
cmp dword [esi + 0x34], 0xf
je 0x102170c7
cmp ebx, 0xffffffff
je 0x10216241
mov al, byte [ebp + 0x106]
test al, al
jne 0x10216241
mov dword [esi + 0x38], edi
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, dword [esi + 0x640]
test eax, eax
je 0x102170da
push edi
push esi
call eax
add esp, 8
jmp 0x102170fb
lea eax, [esi + 0x3c]
mov dword [eax + 0xc], 1
push eax
push eax
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
lea eax, [ebp + 0x14]
push dword [ebp + 0x18]
push eax
call fcn.1022de10
add esp, 0x10
cmp dword [esi + 0x34], 0x10
je 0x10217108
mov dword [esi + 0x34], 0x10
lea eax, [esi + 0x1c]
push eax
push esi
push dword [ebp + 0x38]
lea eax, [ebp + 0x34]
push eax
call fcn.1022de10
push esi
push ebp
call fcn.102180a0
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x60
ret