Function at 0x1025eb31
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 0x1025f99d
cmp dword [esi], 0xc0dedbad
jne 0x1025f99d
mov ebp, dword [esp + 0x74]
mov ebx, fcn.1025d2b0
cmp byte [ebp + 0x108], 0
je 0x1025eab1
mov edi, 0x2a
push esi
mov dword [esp + 0x1c], edi
call fcn.100072b0
push 0
push edi
push esi
call fcn.1025e4a0
add esp, 0x10
cmp dword [esi + 0x34], 0xf
je 0x1025eab1
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
test ebx, ebx
je 0x1025eab1
push esi
call fcn.1025d2b0
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 0x1025ead1
push ebp
call fcn.102601e0
add esp, 4
mov eax, dword [esi + 0x34]
cmp eax, 2
jle 0x1025eae7
cmp eax, 0xf
jge 0x1025eae7
cmp dword [esi + 0x18], ebx
je case.default.0x1025eb2a
cmp dword [esi + 0x18], ebx
je 0x1025eb1e
cmp eax, 2
jl 0x1025eb1e
cmp eax, 0xf
jge 0x1025eb1e
push 0
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x19]
push eax
push dword [esp + 0x84]
push esi
call fcn.1025e8d0
mov edi, dword [esp + 0x2c]
add esp, 0x14
test al, al
jne 0x1025f7ec
mov eax, dword [esi + 0x34]
cmp eax, 0x10
ja case.default.0x1025eb2a
jmp dword [eax*4 + 0x1025f9ac]
push esi
call fcn.10273d50
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x1025eb2a.1
cmp dword [esi + 0x34], 2
je 0x1025eb67
mov eax, fcn.10273cb0
mov dword [esi + 0x34], 2
test eax, eax
je 0x1025eb67
push esi
call fcn.10273cb0
add esp, 4
push 1
lea eax, [esp + 0x44]
push esi
push eax
call fcn.1027da50
mov ecx, dword [esp + 0x84]
add esp, 0xc
or ebx, 0xffffffff
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
jmp 0x1025f7b0
push esi
call fcn.1025d830
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x1025eb2a.1
push 2
lea eax, [esp + 0x54]
push esi
push eax
call fcn.1027da50
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 0x1025ebd4
push 0xa
push edi
push eax
push esi
call fcn.1025d380
add esp, 0x10
mov eax, dword [esi + 0x1e4]
test eax, eax
je 0x1025ebec
push 2
push 0
push eax
push esi
call fcn.1025d380
add esp, 0x10
lea eax, [esp + 0x12]
push eax
lea eax, [esp + 0x1b]
push eax
push esi
call fcn.10269780
mov edi, eax
add esp, 0xc
mov dword [esp + 0x18], edi
cmp edi, 0x59
jne 0x1025ec3d
cmp dword [esi + 0x34], 1
je 0x1025ec17
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.10276650
push esi
push ebp
call fcn.102608d0
add esp, 0x18
xor edi, edi
mov dword [esp + 0x18], edi
jmp case.0x1025eb2a.1
cmp byte [esi + 0xd00], bl
je 0x1025ec5b
push str.Transfer_was_pending__now_try_another
push esi
call fcn.1026e930
push dword [esi + 0x7c]
call fcn.102601e0
add esp, 0xc
test edi, edi
jne case.0x1025eb2a.1
push 3
lea eax, [esp + 0x64]
push esi
push eax
call fcn.1027da50
mov ecx, dword [esp + 0x84]
add esp, 0xc
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
cmp byte [esp + 0x17], bl
je 0x1025ec9c
cmp dword [esi + 0x34], 3
je 0x1025f7b0
mov dword [esi + 0x34], 3
jmp 0x1025f7b0
or ebx, 0xffffffff
cmp byte [esp + 0x12], 0
je 0x1025ed95
cmp dword [esi + 0x34], 6
je 0x1025f7b0
mov dword [esi + 0x34], 6
jmp 0x1025f7b0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x1c], ebx
cmp byte [eax + 0x1a8], bl
je 0x1025ecd4
mov ebx, dword [eax + 0x78]
jmp 0x1025ece4
cmp byte [eax + 0x1b1], bl
je 0x1025ece1
mov ebx, dword [eax + 0x48]
jmp 0x1025ece4
mov ebx, dword [eax + 0x30]
push dword [eax + 0x36c]
push ebx
push esi
call fcn.10276d20
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1025ed24
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.1026e930
add esp, 0xc
cmp dword [esp + 0x1c], edi
jne 0x1025ed38
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.10277730
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
push esi
push ebp
call fcn.102605a0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x1025f920
cmp dword [esp + 0x1c], eax
je 0x1025ed6d
lea eax, [esp + 0x12]
push eax
push esi
call fcn.10277370
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
je 0x1025ed83
mov dword [esi + 0x18], ebx
mov ecx, dword [esp + 0x78]
test edi, edi
je 0x1025f7b0
mov byte [esp + 0x11], 1
jmp 0x1025f7b0
mov ecx, dword [esp + 0x78]
or ebx, 0xffffffff
cmp byte [esp + 0x12], 0
jne 0x1025ecaa
cmp dword [esi + 0x34], 4
je 0x1025f7b0
mov dword [esi + 0x34], 4
jmp 0x1025f7b0
lea eax, [esp + 0x13]
push eax
push esi
call fcn.10278c40
mov edi, eax
add esp, 8
mov eax, dword [esi + 0x18]
mov dword [esp + 0x18], edi
cmp byte [eax + 0x1ac], bl
je 0x1025ee07
xor edi, edi
or ebx, 0xffffffff
push edi
push edi
push esi
mov dword [esp + 0x24], edi
call fcn.1025e4a0
add esp, 0xc
cmp dword [esi + 0x34], 2
je case.0x1025eb2a.1
mov eax, fcn.10273cb0
mov dword [esi + 0x34], 2
test eax, eax
je case.0x1025eb2a.1
push esi
call fcn.10273cb0
jmp 0x1025f7a9
test edi, edi
jne 0x1025ee5f
mov ecx, dword [esp + 0x78]
or ebx, 0xffffffff
jmp 0x1025ecaa
lea eax, [esp + 0x12]
push eax
push 0
push 0
push esi
call fcn.1026df90
add esp, 0x10
mov edi, eax
mov dword [esp + 0x18], edi
cmp byte [esp + 0x12], bl
je 0x1025ee45
test edi, edi
jne 0x1025ee4d
mov ecx, dword [esp + 0x78]
or ebx, 0xffffffff
jmp 0x1025ecaa
test edi, edi
je case.0x1025eb2a.1
push esi
call fcn.100072b0
push 1
push edi
push esi
call fcn.1025e4a0
add esp, 0x10
mov byte [esp + 0x11], 1
jmp case.0x1025eb2a.1
cmp byte [esi + 0xd06], bl
je 0x1025ee80
push esi
call fcn.102603a0
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025ee4d
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], bl
je 0x1025eea4
cmp dword [esi + 0x34], 8
je 0x1025ee9c
mov dword [esi + 0x34], 8
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
lea eax, [esp + 0x13]
push eax
push esi
call fcn.10260260
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025ee4d
cmp byte [esp + 0x13], bl
jne 0x1025ee8f
cmp dword [esi + 0x34], 7
je 0x1025eecf
mov dword [esi + 0x34], 7
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
lea eax, [esp + 0x13]
push eax
push esi
call fcn.102602e0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025ee4d
cmp byte [esp + 0x13], bl
je case.0x1025eb2a.1
cmp dword [esi + 0x34], 8
je 0x1025ee9c
mov dword [esi + 0x34], 8
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
cmp dword [esi + 0x1bc], ebx
je 0x1025ef8b
push 1
push esi
call fcn.1025d870
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.1025d870
add esp, 0x24
test edi, edi
je 0x1025ef8b
push str.operation_aborted_by_pre_request_callback
push esi
call fcn.1026e860
mov edi, 0x2a
push esi
mov dword [esp + 0x24], edi
call fcn.100072b0
push 0
push edi
push esi
call fcn.1025e4a0
add esp, 0x18
mov byte [esp + 0x11], 1
jmp case.0x1025eb2a.1
cmp byte [esi + 0x65d], 1
jne 0x1025efbc
push 0
push dword [esi + 0x18]
call fcn.1026fca0
add esp, 8
cmp dword [esi + 0x34], 0xe
je 0x1025efae
mov dword [esi + 0x34], 0xe
xor edi, edi
or ebx, 0xffffffff
mov dword [esp + 0x18], edi
jmp case.0x1025eb2a.1
mov eax, dword [esi + 0x18]
xor edi, edi
mov eax, dword [eax + 0x1c4]
mov eax, dword [eax + 8]
test eax, eax
je 0x1025efdb
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 0x1025f045
cmp byte [esp + 0x14], bl
jne 0x1025effe
cmp dword [esi + 0x34], 9
je 0x1025f03d
mov dword [esi + 0x34], 9
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1b5], bl
je 0x1025f01e
cmp dword [esi + 0x34], 0xa
je 0x1025f03d
mov dword [esi + 0x34], 0xa
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
cmp dword [esi + 0x34], 0xb
je 0x1025f03d
mov eax, fcn.1025d290
mov dword [esi + 0x34], 0xb
test eax, eax
je 0x1025f03d
push esi
call fcn.1025d290
add esp, 4
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
cmp edi, 0x37
jne 0x1025f10e
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], bl
je 0x1025f10e
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
push eax
push esi
call fcn.10274410
add esp, 8
test eax, eax
je 0x1025f07e
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.1025e4a0
mov ecx, dword [esp + 0x2c]
add esp, 0x10
test ecx, ecx
je 0x1025f0fd
test eax, eax
je 0x1025f0b3
cmp eax, 0x37
je 0x1025f0b3
mov edi, eax
push ecx
mov dword [esp + 0x1c], edi
call dword [0x102dd004]
jmp 0x1025f7a9
push 2
push ecx
push esi
call fcn.102737a0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1025f0e9
cmp dword [esi + 0x34], 2
je 0x1025f0e4
mov eax, fcn.10273cb0
mov dword [esi + 0x34], 2
test eax, eax
je 0x1025f0e4
push esi
call fcn.10273cb0
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 0x1025f7a9
push ecx
mov byte [esp + 0x15], 1
call dword [0x102dd004]
jmp 0x1025f7a9
push esi
call fcn.100072b0
add esp, 4
cmp dword [esi + 0x18], ebx
je 0x1025f128
push 0
push edi
push esi
call fcn.1025e4a0
add esp, 0xc
mov byte [esp + 0x11], 1
jmp case.0x1025eb2a.1
lea eax, [esp + 0x14]
push eax
push esi
call fcn.10260320
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025f177
cmp byte [esp + 0x14], bl
je case.0x1025eb2a.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.1025e3e0
add esp, 8
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
push esi
call fcn.100072b0
push 0
push edi
push esi
call fcn.1025e4a0
add esp, 0x10
mov byte [esp + 0x11], 1
jmp case.0x1025eb2a.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 0x1025f1bc
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 0x1025f177
test ecx, ecx
je case.0x1025eb2a.1
xor eax, eax
cmp ecx, 1
sete al
lea eax, [eax*2 + 9]
push eax
push esi
call fcn.1025e3e0
add esp, 8
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1bb], bl
je 0x1025f201
push ebp
call fcn.102601e0
add esp, 4
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x1e0], 0xffffffff
jne 0x1025f22b
cmp dword [eax + 0x1e4], 0xffffffff
jne 0x1025f22b
cmp dword [esi + 0x34], 0xe
je 0x1025f238
mov dword [esi + 0x34], 0xe
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
cmp dword [esi + 0x34], 0xc
je 0x1025f238
mov dword [esi + 0x34], 0xc
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
push esi
call fcn.1027dc20
add esp, 4
test eax, eax
je 0x1025f258
mov edi, 0x2a
mov dword [esp + 0x18], edi
jmp 0x1025f27a
mov ecx, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.1027ee90
mov edi, eax
add esp, 0x14
mov dword [esp + 0x18], edi
test edi, edi
je 0x1025f2b0
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c4]
test byte [eax + 0x4c], 2
jne 0x1025f299
cmp edi, 0x5c
je 0x1025f299
push 2
push ecx
call fcn.1026fca0
add esp, 8
push esi
call fcn.100072b0
push 1
push edi
push esi
call fcn.1025e4a0
add esp, 0x10
jmp case.0x1025eb2a.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 0x1025f319
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.1027d790
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov dword [esp + 0x20], edx
jmp 0x1025f325
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 0x1025f390
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.1027d790
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov ecx, eax
jmp 0x1025f398
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
or eax, dword [esp + 0x20]
jne 0x1025f3d2
mov eax, ecx
or eax, edx
jne 0x1025f3d2
cmp dword [esi + 0x34], 0xc
je 0x1025f3b5
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.1027ddb0
add esp, 0x14
jmp case.0x1025eb2a.1
cmp dword [esp + 0x20], edx
jl 0x1025f3f7
mov eax, dword [esp + 0x1c]
jg 0x1025f3e2
cmp eax, ecx
jb 0x1025f3f7
push 0xb
push dword [esp + 0x24]
push eax
push esi
call fcn.1025d380
add esp, 0x10
jmp case.0x1025eb2a.1
push 0xb
push edx
push ecx
push esi
call fcn.1025d380
add esp, 0x10
jmp case.0x1025eb2a.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 0x1025f47a
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.1027d790
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov dword [esp + 0x24], edx
jmp 0x1025f486
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 0x1025f4f5
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.1027d790
mov ebp, dword [esp + 0xac]
add esp, 0x38
mov ecx, eax
mov dword [esp + 0x28], eax
jmp 0x1025f501
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 0x1025f6f4
mov eax, ecx
or eax, edx
jne 0x1025f6f4
lea eax, [esp + 0x15]
push eax
push esi
call fcn.10274080
add esp, 8
mov edi, eax
mov dword [esp + 0x18], edi
cmp byte [esp + 0x15], bl
jne 0x1025f577
cmp edi, 0x38
je 0x1025f577
cmp edi, 0x5c
jne 0x1025f5af
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c4]
test byte [eax + 0x4c], 2
jne 0x1025f560
cmp edi, 0x5c
je 0x1025f560
push 2
push ecx
call fcn.1026fca0
add esp, 8
push esi
call fcn.100072b0
push 1
push edi
push esi
call fcn.1025e4a0
add esp, 0x10
jmp case.0x1025eb2a.1
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.10274410
add esp, 8
test eax, eax
jne 0x1025f5a5
cmp dword [esp + 0x1c], ebx
setne al
mov byte [esp + 0x16], al
test al, al
je 0x1025f5af
xor edi, edi
mov byte [esp + 0x15], 1
mov dword [esp + 0x18], edi
jmp 0x1025f5bd
test edi, edi
jne 0x1025f541
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025f541
cmp byte [esp + 0x15], bl
je 0x1025f6d4
push esi
call fcn.100072b0
add esp, 4
cmp dword [esi + 0x110], ebx
jne 0x1025f652
cmp byte [esp + 0x16], bl
jne 0x1025f67c
cmp dword [esi + 0x10c], ebx
je 0x1025f63d
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.102737a0
push dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x2c], edi
call dword [0x102dd004]
add esp, 0x14
test edi, edi
je 0x1025f63d
push 1
push edi
push esi
mov byte [esp + 0x1d], 1
call fcn.1025e4a0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x18], edi
test edi, edi
jne case.0x1025eb2a.1
cmp dword [esi + 0x34], 0xe
je 0x1025f64a
mov dword [esi + 0x34], 0xe
or ebx, 0xffffffff
jmp case.0x1025eb2a.1
cmp byte [esp + 0x16], bl
jne 0x1025f67c
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 0x1025f681
mov edi, 2
push 0
push 0
push esi
call fcn.1025e4a0
push edi
push dword [esp + 0x2c]
push esi
call fcn.102737a0
mov edi, eax
add esp, 0x18
mov dword [esp + 0x18], edi
test edi, edi
jne 0x1025f6c5
cmp dword [esi + 0x34], 2
je 0x1025f6c2
mov eax, fcn.10273cb0
mov dword [esi + 0x34], 2
test eax, eax
je 0x1025f6c2
push esi
call fcn.10273cb0
add esp, 4
or ebx, 0xffffffff
push dword [esp + 0x1c]
call dword [0x102dd004]
jmp 0x1025f7a9
cmp byte [esi + 0xcf3], bl
je case.0x1025eb2a.1
push 8
push 0
push 0
push esi
call fcn.1025d380
add esp, 0x10
jmp case.0x1025eb2a.1
mov ecx, dword [esp + 0x78]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.1027ddb0
add esp, 0x14
cmp dword [esi + 0x34], 0xd
je 0x1025f719
mov dword [esi + 0x34], 0xd
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
cmp edx, ecx
jl 0x1025f743
jg 0x1025f731
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x20], eax
jb 0x1025f747
push 0xb
push edx
push dword [esp + 0x28]
push esi
call fcn.1025d380
add esp, 0x10
jmp case.0x1025eb2a.1
mov eax, dword [esp + 0x28]
push 0xb
push ecx
push eax
push esi
call fcn.1025d380
add esp, 0x10
jmp case.0x1025eb2a.1
mov eax, dword [esi + 0x18]
or ebx, 0xffffffff
test eax, eax
je 0x1025f787
cmp byte [eax + 0x1bb], 0
je 0x1025f772
push ebp
call fcn.102601e0
add esp, 4
push 0
push edi
push esi
call fcn.1025e4a0
add esp, 0xc
test edi, edi
cmove edi, eax
mov dword [esp + 0x18], edi
cmp dword [esi + 0x34], 0xf
je case.0x1025eb2a.1
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
mov eax, fcn.1025d2b0
test eax, eax
je case.0x1025eb2a.1
push esi
call fcn.1025d2b0
add esp, 4
mov ecx, dword [esp + 0x78]
cmp dword [esi + 0x18], 0
je 0x1025f7ec
mov eax, dword [esi + 0x34]
cmp eax, 2
jl 0x1025f7ec
cmp eax, 8
jge 0x1025f7ec
cmp ebx, 0xffffffff
je 0x1025f7ec
mov al, byte [ebp + 0x106]
test al, al
jne 0x1025f7ec
push 1
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x19]
push eax
push ecx
push esi
call fcn.1025e8d0
mov edi, dword [esp + 0x2c]
add esp, 0x14
cmp dword [esi + 0x34], 0xf
jge 0x1025f904
test edi, edi
je 0x1025f88d
push ebp
call fcn.102601e0
mov ebx, dword [esi + 0x18]
add esp, 4
test ebx, ebx
je 0x1025f856
cmp byte [esp + 0x11], 0
je 0x1025f865
cmp edi, 0x1c
push esi
push ebx
sete byte [esp + 0x44]
call fcn.1026e0c0
push 0
lea eax, [esi + 0x28]
push eax
lea eax, [ebx + 0x21c]
push eax
call fcn.102766c0
push 1
push ebx
push esi
mov dword [esi + 0x18], 0
call fcn.102662c0
push dword [esp + 0x5c]
push ebx
push esi
call fcn.10269850
add esp, 0x2c
jmp 0x1025f865
cmp dword [esi + 0x34], 2
jne 0x1025f865
push esi
call fcn.100072b0
add esp, 4
cmp dword [esi + 0x34], 0xf
je 0x1025f8fd
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x34], 0xf
dec dword [eax + 0x10]
mov eax, fcn.1025d2b0
test eax, eax
je 0x1025f8fd
push esi
call fcn.1025d2b0
jmp 0x1025f8fa
cmp dword [esi + 0x18], 0
je 0x1025f900
push esi
call fcn.1027dc20
add esp, 4
test eax, eax
je 0x1025f900
push 2
push dword [esi + 0x18]
mov edi, 0x2a
mov dword [esp + 0x20], edi
call fcn.1026fca0
mov ecx, dword [esi + 0x34]
xor eax, eax
add esp, 8
cmp ecx, 0xe
setge al
add eax, 0xe
cmp ecx, eax
je 0x1025f8fd
mov dword [esi + 0x34], eax
cmp ecx, 0xe
jl 0x1025f8d6
mov eax, dword [esi + 0x7c]
dec dword [eax + 0x10]
xor eax, eax
cmp ecx, 0xe
setge al
cmp dword [eax*4 + 0x102c14f0], 0
je 0x1025f8fd
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 0x1025f937
cmp ebx, 0xffffffff
je 0x1025eab1
mov al, byte [ebp + 0x106]
test al, al
jne 0x1025eab1
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 0x1025f94a
push edi
push esi
call eax
add esp, 8
jmp 0x1025f96b
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.10276650
add esp, 0x10
cmp dword [esi + 0x34], 0x10
je 0x1025f978
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.10276650
push esi
push ebp
call fcn.102608d0
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