Function at 0x1025eb41
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 0x1025f9ad
cmp dword [esi], 0xc0dedbad
jne 0x1025f9ad
mov ebp, dword [esp + 0x74]
mov ebx, fcn.1025d2c0
cmp byte [ebp + 0x108], 0
je 0x1025eac1
mov edi, 0x2a
push esi
mov dword [esp + 0x1c], edi
call fcn.100072b0
push 0
push edi
push esi
call fcn.1025e4b0
add esp, 0x10
cmp dword [esi + 0x34], 0xf
je 0x1025eac1
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
test ebx, ebx
je 0x1025eac1
push esi
call fcn.1025d2c0
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 0x1025eae1
push ebp
call fcn.102601f0
add esp, 4
mov eax, dword [esi + 0x34]
cmp eax, 2
jle 0x1025eaf7
cmp eax, 0xf
jge 0x1025eaf7
cmp dword [esi + 0x18], ebx
je case.default.0x1025eb3a
cmp dword [esi + 0x18], ebx
je 0x1025eb2e
cmp eax, 2
jl 0x1025eb2e
cmp eax, 0xf
jge 0x1025eb2e
push 0
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x19]
push eax
push dword [esp + 0x84]
push esi
call fcn.1025e8e0
mov edi, dword [esp + 0x2c]
add esp, 0x14
test al, al
jne 0x1025f7fc
mov eax, dword [esi + 0x34]
cmp eax, 0x10
ja case.default.0x1025eb3a
jmp dword [eax*4 + 0x1025f9bc]
push esi
call fcn.10273d90
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x1025eb3a.1
cmp dword [esi + 0x34], 2
je 0x1025eb77
mov eax, fcn.10273cf0
mov dword [esi + 0x34], 2
test eax, eax
je 0x1025eb77
push esi
call fcn.10273cf0
add esp, 4
push 1
lea eax, [esp + 0x44]
push esi
push eax
call fcn.1027da80
mov ecx, dword [esp + 0x84]
add esp, 0xc
or ebx, 0xffffffff
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
jmp 0x1025f7c0
push esi
call fcn.1025d840
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x1025eb3a.1
push 2
lea eax, [esp + 0x54]
push esi
push eax
call fcn.1027da80
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 0x1025ebe4
push 0xa
push edi
push eax
push esi
call fcn.1025d390
add esp, 0x10
mov eax, dword [esi + 0x1e4]
test eax, eax
je 0x1025ebfc
push 2
push 0
push eax
push esi
call fcn.1025d390
add esp, 0x10
lea eax, [esp + 0x12]
push eax
lea eax, [esp + 0x1b]
push eax
push esi
call fcn.10269790
mov edi, eax
add esp, 0xc
mov dword [esp + 0x18], edi
cmp edi, 0x59
jne 0x1025ec4d
cmp dword [esi + 0x34], 1
je 0x1025ec27
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.10276690
push esi
push ebp
call fcn.102608e0
add esp, 0x18
xor edi, edi
mov dword [esp + 0x18], edi
jmp case.0x1025eb3a.1
cmp byte [esi + 0xd00], bl
je 0x1025ec6b
push str.Transfer_was_pending__now_try_another
push esi
call fcn.1026e950
push dword [esi + 0x7c]
call fcn.102601f0
add esp, 0xc
test edi, edi
jne case.0x1025eb3a.1
push 3
lea eax, [esp + 0x64]
push esi
push eax
call fcn.1027da80
mov ecx, dword [esp + 0x84]
add esp, 0xc
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
cmp byte [esp + 0x17], bl
je 0x1025ecac
cmp dword [esi + 0x34], 3
je 0x1025f7c0
mov dword [esi + 0x34], 3
jmp 0x1025f7c0
or ebx, 0xffffffff
cmp byte [esp + 0x12], 0
je 0x1025eda5
cmp dword [esi + 0x34], 6
je 0x1025f7c0
mov dword [esi + 0x34], 6
jmp 0x1025f7c0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x1c], ebx
cmp byte [eax + 0x1a8], bl
je 0x1025ece4
mov ebx, dword [eax + 0x78]
jmp 0x1025ecf4
cmp byte [eax + 0x1b1], bl
je 0x1025ecf1
mov ebx, dword [eax + 0x48]
jmp 0x1025ecf4
mov ebx, dword [eax + 0x30]
push dword [eax + 0x36c]
push ebx
push esi
call fcn.10276d60
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1025ed34
push ebx
push 0x102c1744
xor edi, edi
mov dword [esi + 0x944], eax
push esi
mov byte [esi + 0x958], 1
mov dword [esp + 0x24], edi
call fcn.1026e950
add esp, 0xc
cmp dword [esp + 0x1c], edi
jne 0x1025ed48
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.10277770
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
push esi
push ebp
call fcn.102605b0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x1025f930
cmp dword [esp + 0x1c], eax
je 0x1025ed7d
lea eax, [esp + 0x12]
push eax
push esi
call fcn.102773b0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
je 0x1025ed93
mov dword [esi + 0x18], ebx
mov ecx, dword [esp + 0x78]
test edi, edi
je 0x1025f7c0
mov byte [esp + 0x11], 1
jmp 0x1025f7c0
mov ecx, dword [esp + 0x78]
or ebx, 0xffffffff
cmp byte [esp + 0x12], 0
jne 0x1025ecba
cmp dword [esi + 0x34], 4
je 0x1025f7c0
mov dword [esi + 0x34], 4
jmp 0x1025f7c0
lea eax, [esp + 0x13]
push eax
push esi
call fcn.10278c80
mov edi, eax
add esp, 8
mov eax, dword [esi + 0x18]
mov dword [esp + 0x18], edi
cmp byte [eax + 0x1ac], bl
je 0x1025ee17
xor edi, edi
or ebx, 0xffffffff
push edi
push edi
push esi
mov dword [esp + 0x24], edi
call fcn.1025e4b0
add esp, 0xc
cmp dword [esi + 0x34], 2
je case.0x1025eb3a.1
mov eax, fcn.10273cf0
mov dword [esi + 0x34], 2
test eax, eax
je case.0x1025eb3a.1
push esi
call fcn.10273cf0
jmp 0x1025f7b9
test edi, edi
jne 0x1025ee6f
mov ecx, dword [esp + 0x78]
or ebx, 0xffffffff
jmp 0x1025ecba
lea eax, [esp + 0x12]
push eax
push 0
push 0
push esi
call fcn.1026dfb0
add esp, 0x10
mov edi, eax
mov dword [esp + 0x18], edi
cmp byte [esp + 0x12], bl
je 0x1025ee55
test edi, edi
jne 0x1025ee5d
mov ecx, dword [esp + 0x78]
or ebx, 0xffffffff
jmp 0x1025ecba
test edi, edi
je case.0x1025eb3a.1
push esi
call fcn.100072b0
push 1
push edi
push esi
call fcn.1025e4b0
add esp, 0x10
mov byte [esp + 0x11], 1
jmp case.0x1025eb3a.1
cmp byte [esi + 0xd06], bl
je 0x1025ee90
push esi
call fcn.102603b0
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025ee5d
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], bl
je 0x1025eeb4
cmp dword [esi + 0x34], 8
je 0x1025eeac
mov dword [esi + 0x34], 8
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
lea eax, [esp + 0x13]
push eax
push esi
call fcn.10260270
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025ee5d
cmp byte [esp + 0x13], bl
jne 0x1025ee9f
cmp dword [esi + 0x34], 7
je 0x1025eedf
mov dword [esi + 0x34], 7
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
lea eax, [esp + 0x13]
push eax
push esi
call fcn.102602f0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025ee5d
cmp byte [esp + 0x13], bl
je case.0x1025eb3a.1
cmp dword [esi + 0x34], 8
je 0x1025eeac
mov dword [esi + 0x34], 8
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
cmp dword [esi + 0x1bc], ebx
je 0x1025ef9b
push 1
push esi
call fcn.1025d880
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.1025d880
add esp, 0x24
test edi, edi
je 0x1025ef9b
push str.operation_aborted_by_pre_request_callback
push esi
call fcn.1026e880
mov edi, 0x2a
push esi
mov dword [esp + 0x24], edi
call fcn.100072b0
push 0
push edi
push esi
call fcn.1025e4b0
add esp, 0x18
mov byte [esp + 0x11], 1
jmp case.0x1025eb3a.1
cmp byte [esi + 0x65d], 1
jne 0x1025efcc
push 0
push dword [esi + 0x18]
call fcn.1026fcc0
add esp, 8
cmp dword [esi + 0x34], 0xe
je 0x1025efbe
mov dword [esi + 0x34], 0xe
xor edi, edi
or ebx, 0xffffffff
mov dword [esp + 0x18], edi
jmp case.0x1025eb3a.1
mov eax, dword [esi + 0x18]
xor edi, edi
mov eax, dword [eax + 0x1c4]
mov eax, dword [eax + 8]
test eax, eax
je 0x1025efeb
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 0x1025f055
cmp byte [esp + 0x14], bl
jne 0x1025f00e
cmp dword [esi + 0x34], 9
je 0x1025f04d
mov dword [esi + 0x34], 9
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1b5], bl
je 0x1025f02e
cmp dword [esi + 0x34], 0xa
je 0x1025f04d
mov dword [esi + 0x34], 0xa
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
cmp dword [esi + 0x34], 0xb
je 0x1025f04d
mov eax, fcn.1025d2a0
mov dword [esi + 0x34], 0xb
test eax, eax
je 0x1025f04d
push esi
call fcn.1025d2a0
add esp, 4
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
cmp edi, 0x37
jne 0x1025f11e
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], bl
je 0x1025f11e
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
push eax
push esi
call fcn.10274450
add esp, 8
test eax, eax
je 0x1025f08e
mov edi, eax
mov byte [esp + 0x11], 1
mov dword [esp + 0x18], edi
push esi
call fcn.100072b0
push 0
push edi
push esi
call fcn.1025e4b0
mov ecx, dword [esp + 0x2c]
add esp, 0x10
test ecx, ecx
je 0x1025f10d
test eax, eax
je 0x1025f0c3
cmp eax, 0x37
je 0x1025f0c3
mov edi, eax
push ecx
mov dword [esp + 0x1c], edi
call dword [0x102dd004]
jmp 0x1025f7b9
push 2
push ecx
push esi
call fcn.102737e0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1025f0f9
cmp dword [esi + 0x34], 2
je 0x1025f0f4
mov eax, fcn.10273cf0
mov dword [esi + 0x34], 2
test eax, eax
je 0x1025f0f4
push esi
call fcn.10273cf0
add esp, 4
or ebx, 0xffffffff
xor edi, edi
mov ecx, dword [esp + 0x1c]
push ecx
mov dword [esp + 0x1c], edi
call dword [0x102dd004]
jmp 0x1025f7b9
push ecx
mov byte [esp + 0x15], 1
call dword [0x102dd004]
jmp 0x1025f7b9
push esi
call fcn.100072b0
add esp, 4
cmp dword [esi + 0x18], ebx
je 0x1025f138
push 0
push edi
push esi
call fcn.1025e4b0
add esp, 0xc
mov byte [esp + 0x11], 1
jmp case.0x1025eb3a.1
lea eax, [esp + 0x14]
push eax
push esi
call fcn.10260330
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025f187
cmp byte [esp + 0x14], bl
je case.0x1025eb3a.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.1025e3f0
add esp, 8
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
push esi
call fcn.100072b0
push 0
push edi
push esi
call fcn.1025e4b0
add esp, 0x10
mov byte [esp + 0x11], 1
jmp case.0x1025eb3a.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 0x1025f1cc
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 0x1025f187
test ecx, ecx
je case.0x1025eb3a.1
xor eax, eax
cmp ecx, 1
sete al
lea eax, [eax*2 + 9]
push eax
push esi
call fcn.1025e3f0
add esp, 8
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1bb], bl
je 0x1025f211
push ebp
call fcn.102601f0
add esp, 4
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x1e0], 0xffffffff
jne 0x1025f23b
cmp dword [eax + 0x1e4], 0xffffffff
jne 0x1025f23b
cmp dword [esi + 0x34], 0xe
je 0x1025f248
mov dword [esi + 0x34], 0xe
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
cmp dword [esi + 0x34], 0xc
je 0x1025f248
mov dword [esi + 0x34], 0xc
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
push esi
call fcn.1027dc50
add esp, 4
test eax, eax
je 0x1025f268
mov edi, 0x2a
mov dword [esp + 0x18], edi
jmp 0x1025f28a
mov ecx, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.1027eec0
mov edi, eax
add esp, 0x14
mov dword [esp + 0x18], edi
test edi, edi
je 0x1025f2c0
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c4]
test byte [eax + 0x4c], 2
jne 0x1025f2a9
cmp edi, 0x5c
je 0x1025f2a9
push 2
push ecx
call fcn.1026fcc0
add esp, 8
push esi
call fcn.100072b0
push 1
push edi
push esi
call fcn.1025e4b0
add esp, 0x10
jmp case.0x1025eb3a.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 0x1025f329
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.1027d7c0
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov dword [esp + 0x20], edx
jmp 0x1025f335
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 0x1025f3a0
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.1027d7c0
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov ecx, eax
jmp 0x1025f3a8
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
or eax, dword [esp + 0x20]
jne 0x1025f3e2
mov eax, ecx
or eax, edx
jne 0x1025f3e2
cmp dword [esi + 0x34], 0xc
je 0x1025f3c5
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.1027dde0
add esp, 0x14
jmp case.0x1025eb3a.1
cmp dword [esp + 0x20], edx
jl 0x1025f407
mov eax, dword [esp + 0x1c]
jg 0x1025f3f2
cmp eax, ecx
jb 0x1025f407
push 0xb
push dword [esp + 0x24]
push eax
push esi
call fcn.1025d390
add esp, 0x10
jmp case.0x1025eb3a.1
push 0xb
push edx
push ecx
push esi
call fcn.1025d390
add esp, 0x10
jmp case.0x1025eb3a.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 0x1025f48a
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.1027d7c0
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov dword [esp + 0x24], edx
jmp 0x1025f496
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 0x1025f505
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.1027d7c0
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov ecx, eax
mov dword [esp + 0x28], eax
jmp 0x1025f511
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 0x1025f704
mov eax, ecx
or eax, edx
jne 0x1025f704
lea eax, [esp + 0x15]
push eax
push esi
call fcn.102740c0
add esp, 8
mov edi, eax
mov dword [esp + 0x18], edi
cmp byte [esp + 0x15], bl
jne 0x1025f587
cmp edi, 0x38
je 0x1025f587
cmp edi, 0x5c
jne 0x1025f5bf
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c4]
test byte [eax + 0x4c], 2
jne 0x1025f570
cmp edi, 0x5c
je 0x1025f570
push 2
push ecx
call fcn.1026fcc0
add esp, 8
push esi
call fcn.100072b0
push 1
push edi
push esi
call fcn.1025e4b0
add esp, 0x10
jmp case.0x1025eb3a.1
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.10274450
add esp, 8
test eax, eax
jne 0x1025f5b5
cmp dword [esp + 0x1c], ebx
setne al
mov byte [esp + 0x16], al
test al, al
je 0x1025f5bf
xor edi, edi
mov byte [esp + 0x15], 1
mov dword [esp + 0x18], edi
jmp 0x1025f5cd
test edi, edi
jne 0x1025f551
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025f551
cmp byte [esp + 0x15], bl
je 0x1025f6e4
push esi
call fcn.100072b0
add esp, 4
cmp dword [esi + 0x110], ebx
jne 0x1025f662
cmp byte [esp + 0x16], bl
jne 0x1025f68c
cmp dword [esi + 0x10c], ebx
je 0x1025f64d
push dword [esp + 0x1c]
call dword [0x102dd004]
mov eax, dword [esi + 0x10c]
push 1
push eax
push esi
mov dword [esp + 0x2c], eax
mov dword [esi + 0x10c], ebx
call fcn.102737e0
push dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x2c], edi
call dword [0x102dd004]
add esp, 0x14
test edi, edi
je 0x1025f64d
push 1
push edi
push esi
mov byte [esp + 0x1d], 1
call fcn.1025e4b0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x1025eb3a.1
cmp dword [esi + 0x34], 0xe
je 0x1025f65a
mov dword [esi + 0x34], 0xe
or ebx, 0xffffffff
jmp case.0x1025eb3a.1
cmp byte [esp + 0x16], bl
jne 0x1025f68c
push dword [esp + 0x1c]
call dword [0x102dd004]
mov eax, dword [esi + 0x110]
add esp, 4
mov dword [esp + 0x1c], eax
mov edi, 3
mov dword [esi + 0x110], ebx
jmp 0x1025f691
mov edi, 2
push 0
push 0
push esi
call fcn.1025e4b0
push edi
push dword [esp + 0x2c]
push esi
call fcn.102737e0
mov edi, eax
add esp, 0x18
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025f6d5
cmp dword [esi + 0x34], 2
je 0x1025f6d2
mov eax, fcn.10273cf0
mov dword [esi + 0x34], 2
test eax, eax
je 0x1025f6d2
push esi
call fcn.10273cf0
add esp, 4
or ebx, 0xffffffff
push dword [esp + 0x1c]
call dword [0x102dd004]
jmp 0x1025f7b9
cmp byte [esi + 0xcf3], bl
je case.0x1025eb3a.1
push 8
push 0
push 0
push esi
call fcn.1025d390
add esp, 0x10
jmp case.0x1025eb3a.1
mov ecx, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.1027dde0
add esp, 0x14
cmp dword [esi + 0x34], 0xd
je 0x1025f729
mov dword [esi + 0x34], 0xd
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
cmp edx, ecx
jl 0x1025f753
jg 0x1025f741
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x20], eax
jb 0x1025f757
push 0xb
push edx
push dword [esp + 0x28]
push esi
call fcn.1025d390
add esp, 0x10
jmp case.0x1025eb3a.1
mov eax, dword [esp + 0x28]
push 0xb
push ecx
push eax
push esi
call fcn.1025d390
add esp, 0x10
jmp case.0x1025eb3a.1
mov eax, dword [esi + 0x18]
or ebx, 0xffffffff
test eax, eax
je 0x1025f797
cmp byte [eax + 0x1bb], 0
je 0x1025f782
push ebp
call fcn.102601f0
add esp, 4
push 0
push edi
push esi
call fcn.1025e4b0
add esp, 0xc
test edi, edi
cmove edi, eax
mov dword [esp + 0x18], edi
cmp dword [esi + 0x34], 0xf
je case.0x1025eb3a.1
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
mov eax, fcn.1025d2c0
test eax, eax
je case.0x1025eb3a.1
push esi
call fcn.1025d2c0
add esp, 4
mov ecx, dword [esp + 0x78]
cmp dword [esi + 0x18], 0
je 0x1025f7fc
mov eax, dword [esi + 0x34]
cmp eax, 2
jl 0x1025f7fc
cmp eax, 8
jge 0x1025f7fc
cmp ebx, 0xffffffff
je 0x1025f7fc
mov al, byte [ebp + 0x106]
test al, al
jne 0x1025f7fc
push 1
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x19]
push eax
push ecx
push esi
call fcn.1025e8e0
mov edi, dword [esp + 0x2c]
add esp, 0x14
cmp dword [esi + 0x34], 0xf
jge 0x1025f914
test edi, edi
je 0x1025f89d
push ebp
call fcn.102601f0
mov ebx, dword [esi + 0x18]
add esp, 4
test ebx, ebx
je 0x1025f866
cmp byte [esp + 0x11], 0
je 0x1025f875
cmp edi, 0x1c
push esi
push ebx
sete byte [esp + 0x44]
call fcn.1026e0e0
push 0
lea eax, [esi + 0x28]
push eax
lea eax, [ebx + 0x21c]
push eax
call fcn.10276700
push 1
push ebx
push esi
mov dword [esi + 0x18], 0
call fcn.102662d0
push dword [esp + 0x5c]
push ebx
push esi
call fcn.10269860
add esp, 0x2c
jmp 0x1025f875
cmp dword [esi + 0x34], 2
jne 0x1025f875
push esi
call fcn.100072b0
add esp, 4
cmp dword [esi + 0x34], 0xf
je 0x1025f90d
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
mov eax, fcn.1025d2c0
test eax, eax
je 0x1025f90d
push esi
call fcn.1025d2c0
jmp 0x1025f90a
cmp dword [esi + 0x18], 0
je 0x1025f910
push esi
call fcn.1027dc50
add esp, 4
test eax, eax
je 0x1025f910
push 2
push dword [esi + 0x18]
mov edi, 0x2a
mov dword [esp + 0x20], edi
call fcn.1026fcc0
mov ecx, dword [esi + 0x34]
xor eax, eax
add esp, 8
cmp ecx, 0xe
setge al
add eax, 0xe
cmp ecx, eax
je 0x1025f90d
mov dword [esi + 0x34], eax
cmp ecx, 0xe
jl 0x1025f8e6
mov eax, dword [esi + 0x7c]
dec dword [eax + 0x10]
xor eax, eax
cmp ecx, 0xe
setge al
cmp dword [eax*4 + 0x102c14f0], 0
je 0x1025f90d
xor eax, eax
cmp ecx, 0xe
push esi
setge al
mov eax, dword [eax*4 + 0x102c14f0]
call eax
add esp, 4
or ebx, 0xffffffff
cmp dword [esi + 0x34], 0xf
je 0x1025f947
cmp ebx, 0xffffffff
je 0x1025eac1
mov al, byte [ebp + 0x106]
test al, al
jne 0x1025eac1
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 0x1025f95a
push edi
push esi
call eax
add esp, 8
jmp 0x1025f97b
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.10276690
add esp, 0x10
cmp dword [esi + 0x34], 0x10
je 0x1025f988
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.10276690
push esi
push ebp
call fcn.102608e0
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