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

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
mov esi, dword [esp + 0x68]
push edi
xor edi, edi
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
mov byte [esp + 0x14], 0
mov dword [esp + 0x18], edi
test esi, esi
je 0x1001020f
cmp dword [esi], 0xc0dedbad
jne 0x1001020f
mov ebp, dword [esp + 0x64]
cmp byte [ebp + 0x108], 0
je 0x1000f2f0
mov edi, 0x2a
push esi
mov dword [esp + 0x1c], edi
call fcn.10026180
push 0
push edi
push esi
call fcn.1000ed00
add esp, 0x10
cmp dword [esi + 0x34], 0xf
je 0x1000f2f0
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
mov eax, dword [0x1009f014]
test eax, eax
je 0x1000f2f0
push esi
call eax
add esp, 4
mov edi, edi
mov al, byte [ebp + 0x106]
xor ebx, ebx
mov byte [esp + 0x6c], 0
mov byte [ebp + 0x106], bl
test al, al
je 0x1000f310
push ebp
call fcn.10010b80
add esp, 4
mov eax, dword [esi + 0x34]
cmp eax, 2
jle 0x1000f326
cmp eax, 0xf
jge 0x1000f326
cmp dword [esi + 0x18], ebx
je case.default.0x1000f366
cmp dword [esi + 0x18], ebx
je 0x1000f35a
cmp eax, 2
jl 0x1000f35a
cmp eax, 0xf
jge 0x1000f35a
push 0
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x74]
push esi
call fcn.1000f0d0
mov edi, dword [esp + 0x2c]
add esp, 0x14
test al, al
jne 0x10010083
mov eax, dword [esi + 0x34]
cmp eax, 0x10
ja case.default.0x1000f366
jmp dword [eax*4 + 0x1001021c]
push esi
call fcn.10026190
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x1000f366.1
cmp dword [esi + 0x34], 2
je 0x1000f3a0
mov eax, dword [0x1009efe0]
mov dword [esi + 0x34], 2
test eax, eax
je 0x1000f3a0
push esi
call eax
add esp, 4
push 1
lea eax, [esp + 0x44]
push esi
push eax
call fcn.10031b60
mov ecx, dword [esp + 0x74]
add esp, 0xc
or ebx, 0xffffffff
movdqu xmm0, xmmword [eax]
movdqu xmmword [ecx], xmm0
jmp 0x10010047
push esi
call fcn.1000dc40
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x1000f366.1
push 2
lea eax, [esp + 0x54]
push esi
push eax
call fcn.10031b60
add esp, 0xc
movdqu xmm0, xmmword [eax]
mov eax, dword [esp + 0x68]
movdqu xmmword [eax], xmm0
mov eax, dword [esi + 0x1e8]
test eax, eax
je 0x1000f40e
push 0xa
push edi
push eax
push esi
call fcn.1000d700
add esp, 0x10
mov eax, dword [esi + 0x1ec]
test eax, eax
je 0x1000f426
push 2
push 0
push eax
push esi
call fcn.1000d700
add esp, 0x10
lea eax, [esp + 0x11]
push eax
lea eax, [esp + 0x1b]
push eax
push esi
call fcn.1001a9e0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x18], edi
cmp edi, 0x59
jne 0x1000f477
cmp dword [esi + 0x34], 1
je 0x1000f451
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.10028ed0
push esi
push ebp
call fcn.10011390
add esp, 0x18
xor edi, edi
mov dword [esp + 0x18], edi
jmp case.0x1000f366.1
cmp byte [esi + 0xd60], bl
je 0x1000f495
push str.Transfer_was_pending__now_try_another
push esi
call fcn.10020260
push dword [esi + 0x7c]
call fcn.10010b80
add esp, 0xc
test edi, edi
jne case.0x1000f366.1
cmp byte [esp + 0x17], bl
je 0x1000f4b9
cmp dword [esi + 0x34], 3
je case.0x1000f366.1
mov dword [esi + 0x34], 3
jmp case.0x1000f366.1
or ebx, 0xffffffff
cmp byte [esp + 0x11], 0
je 0x1000f4d9
cmp dword [esi + 0x34], 6
je case.0x1000f366.1
mov dword [esi + 0x34], 6
jmp case.0x1000f366.1
cmp dword [esi + 0x34], 4
je case.0x1000f366.1
mov dword [esi + 0x34], 4
jmp case.0x1000f366.1
mov edi, dword [esi + 0x18]
mov dword [esp + 0x1c], ebx
cmp byte [edi + 0x1e0], bl
je 0x1000f506
mov ebx, dword [edi + 0xb4]
jmp 0x1000f519
cmp byte [edi + 0x1e9], bl
je 0x1000f516
mov ebx, dword [edi + 0x84]
jmp 0x1000f519
mov ebx, dword [edi + 0x6c]
push dword [edi + 0x458]
push ebx
push esi
call fcn.100295d0
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1000f553
push ebx
mov dword [edi + 0x48], eax
mov byte [edi + 0x5c], 1
xor edi, edi
push 0x1009f21c
push esi
mov dword [esp + 0x24], edi
call fcn.10020260
add esp, 0xc
cmp dword [esp + 0x1c], edi
jne 0x1000f567
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.10029fe0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
push esi
push ebp
call fcn.10010ff0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10010192
cmp dword [esp + 0x1c], eax
je 0x1000f5a0
lea eax, [esp + 0x11]
push eax
push esi
call fcn.10029c20
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
je 0x1000f4b9
mov dword [esi + 0x18], ebx
test edi, edi
je case.0x1000f366.1
mov byte [esp + 0x6c], 1
jmp case.0x1000f366.1
lea eax, [esp + 0x12]
push eax
push esi
call fcn.1002b540
mov edi, eax
add esp, 8
mov eax, dword [esi + 0x18]
mov dword [esp + 0x18], edi
cmp byte [eax + 0x1e4], bl
je 0x1000f600
xor edi, edi
or ebx, 0xffffffff
push edi
push edi
push esi
mov dword [esp + 0x24], edi
call fcn.1000ed00
add esp, 0xc
cmp dword [esi + 0x34], 2
je case.0x1000f366.1
mov eax, dword [0x1009efe0]
mov dword [esi + 0x34], 2
jmp 0x10010039
test edi, edi
jne 0x1000f5a8
or ebx, 0xffffffff
jmp 0x1000f4c3
lea eax, [esp + 0x11]
push eax
push 0
push 0
push esi
call fcn.1001f630
add esp, 0x10
mov edi, eax
mov dword [esp + 0x18], edi
cmp byte [esp + 0x11], bl
je 0x1000f636
test edi, edi
jne 0x1000f63e
or ebx, 0xffffffff
jmp 0x1000f4c3
test edi, edi
je case.0x1000f366.1
push esi
call fcn.10026180
push 1
push edi
push esi
call fcn.1000ed00
add esp, 0x10
mov byte [esp + 0x6c], 1
jmp case.0x1000f366.1
cmp byte [esi + 0xd67], bl
je 0x1000f671
push esi
call fcn.10010d20
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1000f63e
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1e7], bl
je 0x1000f695
cmp dword [esi + 0x34], 8
je 0x1000f68d
mov dword [esi + 0x34], 8
or ebx, 0xffffffff
jmp case.0x1000f366.1
lea eax, [esp + 0x12]
push eax
push esi
call fcn.10010c00
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1000f63e
cmp byte [esp + 0x12], bl
jne 0x1000f680
cmp dword [esi + 0x34], 7
je 0x1000f6c0
mov dword [esi + 0x34], 7
or ebx, 0xffffffff
jmp case.0x1000f366.1
lea eax, [esp + 0x12]
push eax
push esi
call fcn.10010c80
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1000f63e
cmp byte [esp + 0x12], bl
je case.0x1000f366.1
cmp dword [esi + 0x34], 8
je 0x1000f68d
mov dword [esi + 0x34], 8
or ebx, 0xffffffff
jmp case.0x1000f366.1
cmp dword [esi + 0x1c4], ebx
je 0x1000f77c
push 1
push esi
call fcn.1000dc80
push dword [esi + 0xe24]
lea eax, [esi + 0xdf4]
push dword [esi + 0xdec]
push eax
lea eax, [esi + 0xdbc]
push eax
push dword [esi + 0x1c8]
mov eax, dword [esi + 0x1c4]
call eax
push 0
push esi
mov edi, eax
call fcn.1000dc80
add esp, 0x24
test edi, edi
je 0x1000f77c
push str.operation_aborted_by_pre_request_callback
push esi
call fcn.10020190
mov edi, 0x2a
push esi
mov dword [esp + 0x24], edi
call fcn.10026180
push 0
push edi
push esi
call fcn.1000ed00
add esp, 0x18
mov byte [esp + 0x6c], 1
jmp case.0x1000f366.1
cmp byte [esi + 0x6ad], 1
jne 0x1000f7ad
push 0
push dword [esi + 0x18]
call fcn.10021a70
add esp, 8
cmp dword [esi + 0x34], 0xe
je 0x1000f79f
mov dword [esi + 0x34], 0xe
xor edi, edi
or ebx, 0xffffffff
mov dword [esp + 0x18], edi
jmp case.0x1000f366.1
mov eax, dword [esi + 0x18]
xor edi, edi
mov eax, dword [eax + 0x200]
mov eax, dword [eax + 8]
test eax, eax
je 0x1000f7cc
lea ecx, [esp + 0x13]
push ecx
push esi
call eax
add esp, 8
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1000f876
cmp byte [esp + 0x13], bl
jne 0x1000f832
cmp byte [esi + 0xd5a], bl
je 0x1000f81d
mov eax, dword [esi + 0xd70]
mov al, byte [eax + 0x20]
cmp al, 7
je 0x1000f7f7
cmp al, 5
jne 0x1000f81d
push 0
push 0
push esi
call fcn.1000ed00
mov eax, dword [esi + 0x18]
neg eax
sbb eax, eax
add eax, 0xf
push eax
push esi
call fcn.1000eb90
add esp, 0x14
or ebx, 0xffffffff
jmp case.0x1000f366.1
cmp dword [esi + 0x34], 9
je 0x1000f82a
mov dword [esi + 0x34], 9
or ebx, 0xffffffff
jmp case.0x1000f366.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1ed], bl
je 0x1000f852
cmp dword [esi + 0x34], 0xa
je 0x1000f84a
mov dword [esi + 0x34], 0xa
or ebx, 0xffffffff
jmp case.0x1000f366.1
cmp dword [esi + 0x34], 0xb
je 0x1000f86e
mov eax, dword [0x1009f004]
mov dword [esi + 0x34], 0xb
test eax, eax
je 0x1000f86e
push esi
call eax
add esp, 4
or ebx, 0xffffffff
jmp case.0x1000f366.1
cmp edi, 0x37
jne 0x1000f93c
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1e7], bl
je 0x1000f93c
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
push eax
push esi
call fcn.10026950
add esp, 8
test eax, eax
je 0x1000f8af
mov edi, eax
mov byte [esp + 0x6c], 1
mov dword [esp + 0x18], edi
push esi
call fcn.10026180
push 0
push edi
push esi
call fcn.1000ed00
mov ecx, dword [esp + 0x2c]
add esp, 0x10
test ecx, ecx
je 0x1000f92b
test eax, eax
je 0x1000f8e4
cmp eax, 0x37
je 0x1000f8e4
mov edi, eax
push ecx
mov dword [esp + 0x1c], edi
call dword [0x100b9038]
jmp 0x10010040
push 2
push ecx
push esi
call fcn.10025bd0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1000f917
cmp dword [esi + 0x34], 2
je 0x1000f912
mov eax, dword [0x1009efe0]
mov dword [esi + 0x34], 2
test eax, eax
je 0x1000f912
push esi
call eax
add esp, 4
or ebx, 0xffffffff
xor edi, edi
mov ecx, dword [esp + 0x1c]
push ecx
mov dword [esp + 0x1c], edi
call dword [0x100b9038]
jmp 0x10010040
push ecx
mov byte [esp + 0x70], 1
call dword [0x100b9038]
jmp 0x10010040
push esi
call fcn.10026180
add esp, 4
cmp dword [esi + 0x18], ebx
je 0x1000f956
push 0
push edi
push esi
call fcn.1000ed00
add esp, 0xc
mov byte [esp + 0x6c], 1
jmp case.0x1000f366.1
lea eax, [esp + 0x13]
push eax
push esi
call fcn.10010cc0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1000f9a5
cmp byte [esp + 0x13], bl
je case.0x1000f366.1
mov eax, dword [esi + 0x18]
xor ecx, ecx
cmp byte [eax + 0x1ed], cl
sete cl
add ecx, 0xa
push ecx
push esi
call fcn.1000eb90
add esp, 8
or ebx, 0xffffffff
jmp case.0x1000f366.1
push esi
call fcn.10026180
push 0
push edi
push esi
call fcn.1000ed00
add esp, 0x10
mov byte [esp + 0x6c], 1
jmp case.0x1000f366.1
mov eax, dword [esi + 0x18]
xor ecx, ecx
mov dword [esp + 0x30], ecx
xor edi, edi
mov eax, dword [eax + 0x200]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000f9ea
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 0x1000f9a5
test ecx, ecx
je case.0x1000f366.1
xor eax, eax
cmp ecx, 1
sete al
lea eax, [eax*2 + 9]
push eax
push esi
call fcn.1000eb90
add esp, 8
or ebx, 0xffffffff
jmp case.0x1000f366.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1f7], bl
je 0x1000fa2f
push ebp
call fcn.10010b80
add esp, 4
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x218], 0xffffffff
jne 0x1000fa7a
cmp dword [eax + 0x21c], 0xffffffff
jne 0x1000fa7a
cmp byte [esi + 0xd5a], bl
je 0x1000fa65
mov eax, dword [eax + 0x200]
test dword [eax + 0x4c], 0x1000
jne 0x1000fa65
mov eax, dword [esi + 0xd70]
mov byte [eax + 0x20], 7
cmp dword [esi + 0x34], 0xe
je 0x1000fa87
mov dword [esi + 0x34], 0xe
or ebx, 0xffffffff
jmp case.0x1000f366.1
cmp dword [esi + 0x34], 0xc
je 0x1000fa87
mov dword [esi + 0x34], 0xc
or ebx, 0xffffffff
jmp case.0x1000f366.1
push esi
call fcn.10031d10
add esp, 4
test eax, eax
je 0x1000faa7
mov edi, 0x2a
mov dword [esp + 0x18], edi
jmp 0x1000facb
mov ecx, dword [esp + 0x68]
sub esp, 0x10
mov eax, esp
movdqu xmm0, xmmword [ecx]
push esi
movdqu xmmword [eax], xmm0
call fcn.10032ff0
mov edi, eax
add esp, 0x14
mov dword [esp + 0x18], edi
test edi, edi
je 0x1000fb01
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x200]
test byte [eax + 0x4c], 2
jne 0x1000faea
cmp edi, 0x5c
je 0x1000faea
push 2
push ecx
call fcn.10021a70
add esp, 8
push esi
call fcn.10026180
push 1
push edi
push esi
call fcn.1000ed00
add esp, 0x10
jmp case.0x1000f366.1
mov edx, dword [esi + 0x218]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x21c]
mov eax, edx
or eax, ecx
movlpd qword [esp + 0x34], xmm0
je 0x1000fb6e
mov ebp, dword [esp + 0x68]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movdqu xmm0, xmmword [ebp]
movdqu xmmword [eax], xmm0
mov eax, esp
movdqu xmm0, xmmword [esi + 0x7b8]
push ecx
push edx
push dword [esi + 0x7cc]
movdqu xmmword [eax], xmm0
push dword [esi + 0x7c8]
push dword [esi + 0x71c]
push dword [esi + 0x718]
call fcn.10031890
mov ebp, dword [esp + 0x9c]
add esp, 0x38
mov dword [esp + 0x20], edx
jmp 0x1000fb7a
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esi + 0x220]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x224]
mov dword [esp + 0x1c], eax
mov eax, edx
or eax, ecx
movlpd qword [esp + 0x28], xmm0
je 0x1000fbe9
mov ebp, dword [esp + 0x68]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movdqu xmm0, xmmword [ebp]
movdqu xmmword [eax], xmm0
mov eax, esp
movdqu xmm0, xmmword [esi + 0x7d0]
push ecx
push edx
push dword [esi + 0x7e4]
movdqu xmmword [eax], xmm0
push dword [esi + 0x7e0]
push dword [esi + 0x714]
push dword [esi + 0x710]
call fcn.10031890
mov ebp, dword [esp + 0x9c]
add esp, 0x38
mov ecx, eax
jmp 0x1000fbf1
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
or eax, dword [esp + 0x20]
jne 0x1000fc2d
mov eax, ecx
or eax, edx
jne 0x1000fc2d
cmp dword [esi + 0x34], 0xc
je 0x1000fc0e
mov dword [esi + 0x34], 0xc
mov ecx, dword [esp + 0x68]
sub esp, 0x10
mov eax, esp
movdqu xmm0, xmmword [ecx]
push esi
movdqu xmmword [eax], xmm0
call fcn.10031ea0
add esp, 0x14
jmp case.0x1000f366.1
cmp dword [esp + 0x20], edx
jl 0x1000fc52
mov eax, dword [esp + 0x1c]
jg 0x1000fc3d
cmp eax, ecx
jb 0x1000fc52
push 0xb
push dword [esp + 0x24]
push eax
push esi
call fcn.1000d700
add esp, 0x10
jmp case.0x1000f366.1
push 0xb
push edx
push ecx
push esi
call fcn.1000d700
add esp, 0x10
jmp case.0x1000f366.1
mov edx, dword [esi + 0x218]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x21c]
mov eax, edx
or eax, ecx
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x15], bl
mov byte [esp + 0x16], bl
movlpd qword [esp + 0x34], xmm0
je 0x1000fcdd
mov ebp, dword [esp + 0x68]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movdqu xmm0, xmmword [ebp]
movdqu xmmword [eax], xmm0
mov eax, esp
movdqu xmm0, xmmword [esi + 0x7b8]
push ecx
push edx
push dword [esi + 0x7cc]
movdqu xmmword [eax], xmm0
push dword [esi + 0x7c8]
push dword [esi + 0x71c]
push dword [esi + 0x718]
call fcn.10031890
mov ebp, dword [esp + 0x9c]
add esp, 0x38
mov dword [esp + 0x24], edx
jmp 0x1000fce9
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esi + 0x220]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x224]
mov dword [esp + 0x20], eax
mov eax, edx
or eax, ecx
movlpd qword [esp + 0x28], xmm0
je 0x1000fd5c
mov ebp, dword [esp + 0x68]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movdqu xmm0, xmmword [ebp]
movdqu xmmword [eax], xmm0
mov eax, esp
movdqu xmm0, xmmword [esi + 0x7d0]
push ecx
push edx
push dword [esi + 0x7e4]
movdqu xmmword [eax], xmm0
push dword [esi + 0x7e0]
push dword [esi + 0x714]
push dword [esi + 0x710]
call fcn.10031890
mov ebp, dword [esp + 0x9c]
add esp, 0x38
mov ecx, eax
mov dword [esp + 0x28], eax
jmp 0x1000fd68
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 0x1000ff5e
mov eax, ecx
or eax, edx
jne 0x1000ff5e
lea eax, [esp + 0x16]
push eax
lea eax, [esp + 0x18]
push eax
push esi
push dword [esi + 0x18]
call fcn.10026550
add esp, 0x10
mov edi, eax
mov dword [esp + 0x18], edi
cmp byte [esp + 0x14], bl
jne 0x1000fde6
cmp edi, 0x38
je 0x1000fde6
cmp edi, 0x5c
jne 0x1000fe1e
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x200]
test byte [eax + 0x4c], 2
jne 0x1000fdcf
cmp edi, 0x5c
je 0x1000fdcf
push 2
push ecx
call fcn.10021a70
add esp, 8
push esi
call fcn.10026180
push 1
push edi
push esi
call fcn.1000ed00
add esp, 0x10
jmp case.0x1000f366.1
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.10026950
add esp, 8
test eax, eax
jne 0x1000fe14
cmp dword [esp + 0x1c], ebx
setne al
mov byte [esp + 0x15], al
test al, al
je 0x1000fe1e
xor edi, edi
mov byte [esp + 0x14], 1
mov dword [esp + 0x18], edi
jmp 0x1000fe2c
test edi, edi
jne 0x1000fdb0
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1000fdb0
cmp byte [esp + 0x14], bl
je 0x1000ff40
push esi
call fcn.10026180
add esp, 4
cmp dword [esi + 0x110], ebx
jne 0x1000fec1
cmp byte [esp + 0x15], bl
jne 0x1000feeb
cmp dword [esi + 0x10c], ebx
je 0x1000feac
push dword [esp + 0x1c]
call dword [0x100b9038]
mov eax, dword [esi + 0x10c]
push 1
push eax
push esi
mov dword [esp + 0x2c], eax
mov dword [esi + 0x10c], ebx
call fcn.10025bd0
push dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x2c], edi
call dword [0x100b9038]
add esp, 0x14
test edi, edi
je 0x1000feac
push 1
push edi
push esi
mov byte [esp + 0x78], 1
call fcn.1000ed00
mov edi, eax
add esp, 0xc
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x1000f366.1
cmp dword [esi + 0x34], 0xe
je 0x1000feb9
mov dword [esi + 0x34], 0xe
or ebx, 0xffffffff
jmp case.0x1000f366.1
cmp byte [esp + 0x15], bl
jne 0x1000feeb
push dword [esp + 0x1c]
call dword [0x100b9038]
mov eax, dword [esi + 0x110]
add esp, 4
mov dword [esp + 0x1c], eax
mov edi, 3
mov dword [esi + 0x110], ebx
jmp 0x1000fef0
mov edi, 2
push 0
push 0
push esi
call fcn.1000ed00
push edi
push dword [esp + 0x2c]
push esi
call fcn.10025bd0
mov edi, eax
add esp, 0x18
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1000ff31
cmp dword [esi + 0x34], 2
je 0x1000ff2e
mov eax, dword [0x1009efe0]
mov dword [esi + 0x34], 2
test eax, eax
je 0x1000ff2e
push esi
call eax
add esp, 4
or ebx, 0xffffffff
push dword [esp + 0x1c]
call dword [0x100b9038]
jmp 0x10010040
cmp byte [esp + 0x16], bl
je case.0x1000f366.1
push 8
push 0
push 0
push esi
call fcn.1000d700
add esp, 0x10
jmp case.0x1000f366.1
mov ecx, dword [esp + 0x68]
sub esp, 0x10
mov eax, esp
movdqu xmm0, xmmword [ecx]
push esi
movdqu xmmword [eax], xmm0
call fcn.10031ea0
add esp, 0x14
cmp dword [esi + 0x34], 0xd
je 0x1000ff85
mov dword [esi + 0x34], 0xd
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
cmp edx, ecx
jl 0x1000ffb2
jg 0x1000ff9d
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x20], eax
jb 0x1000ffb6
push 0xb
push edx
push dword [esp + 0x28]
push esi
call fcn.1000d700
add esp, 0x10
jmp case.0x1000f366.1
mov eax, dword [esp + 0x28]
push 0xb
push ecx
push eax
push esi
call fcn.1000d700
add esp, 0x10
jmp case.0x1000f366.1
mov eax, dword [esi + 0x18]
or ebx, 0xffffffff
test eax, eax
je 0x1000fff9
cmp byte [eax + 0x1f7], 0
je 0x1000ffe4
push ebp
call fcn.10010b80
add esp, 4
push 0
push edi
push esi
call fcn.1000ed00
add esp, 0xc
test edi, edi
cmove edi, eax
mov dword [esp + 0x18], edi
cmp byte [esi + 0xd5a], 0
je 0x10010021
mov eax, dword [esi + 0xd70]
cmp byte [eax + 0x20], 7
je 0x10010021
cmp dword [esi + 0x34], 0
mov ecx, dword [esp + 0x68]
je 0x10010047
mov dword [esi + 0x34], 0
jmp 0x10010047
cmp dword [esi + 0x34], 0xf
je case.0x1000f366.1
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
mov eax, dword [0x1009f014]
test eax, eax
je case.0x1000f366.1
push esi
call eax
add esp, 4
mov ecx, dword [esp + 0x68]
cmp dword [esi + 0x18], 0
je 0x10010083
mov eax, dword [esi + 0x34]
cmp eax, 2
jl 0x10010083
cmp eax, 8
jge 0x10010083
cmp ebx, 0xffffffff
je 0x10010083
mov al, byte [ebp + 0x106]
test al, al
jne 0x10010083
push 1
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x74]
push eax
push ecx
push esi
call fcn.1000f0d0
mov edi, dword [esp + 0x2c]
add esp, 0x14
cmp dword [esi + 0x34], 0xf
jge 0x10010176
test edi, edi
je 0x10010116
push ebp
call fcn.10010b80
mov ebx, dword [esi + 0x18]
add esp, 4
test ebx, ebx
je 0x100100ed
cmp byte [esp + 0x6c], 0
je 0x100100fc
cmp edi, 0x1c
push esi
push ebx
sete byte [esp + 0x44]
call fcn.1001f760
push 0
lea eax, [esi + 0x28]
push eax
lea eax, [ebx + 0x254]
push eax
call fcn.10028f40
push 1
push ebx
push esi
mov dword [esi + 0x18], 0
call fcn.10016f40
push dword [esp + 0x5c]
push ebx
push esi
call fcn.1001aab0
add esp, 0x2c
jmp 0x100100fc
cmp dword [esi + 0x34], 2
jne 0x100100fc
push esi
call fcn.10026180
add esp, 4
cmp dword [esi + 0x34], 0xf
je 0x1001016f
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
mov eax, dword [0x1009f014]
jmp 0x10010165
cmp dword [esi + 0x18], 0
je 0x10010172
push esi
call fcn.10031d10
add esp, 4
test eax, eax
je 0x10010172
push 2
push dword [esi + 0x18]
mov edi, 0x2a
mov dword [esp + 0x20], edi
call fcn.10021a70
xor ecx, ecx
add esp, 8
cmp dword [esi + 0x34], 0xe
setge cl
add ecx, 0xe
cmp dword [esi + 0x34], ecx
je 0x1001016f
mov dword [esi + 0x34], ecx
cmp ecx, 0xf
jne 0x1001015e
mov eax, dword [esi + 0x7c]
dec dword [eax + 0x10]
mov eax, dword [ecx*4 + 0x1009efd8]
test eax, eax
je 0x1001016f
push esi
call eax
add esp, 4
or ebx, 0xffffffff
cmp dword [esi + 0x34], 0xf
je 0x100101a9
cmp ebx, 0xffffffff
je 0x1000f2f0
mov al, byte [ebp + 0x106]
test al, al
jne 0x1000f2f0
mov dword [esi + 0x38], edi
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
mov eax, dword [esi + 0x688]
test eax, eax
je 0x100101bc
push edi
push esi
call eax
add esp, 8
jmp 0x100101dd
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.10028ed0
add esp, 0x10
cmp dword [esi + 0x34], 0x10
je 0x100101ea
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.10028ed0
push esi
push ebp
call fcn.10011390
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x50
ret