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

Disassembly:
sub esp, 0x9c
mov eax, dword [0x1032e6c0]
xor eax, esp
mov dword [esp + 0x98], eax
push ebx
push ebp
push edi
mov edi, dword [esp + 0xac]
mov eax, dword [edi + 0x3274]
mov ebx, dword [edi + 0x326c]
lea ebp, [eax + 2]
mov cl, byte [ebx + eax]
movzx eax, cl
add eax, 0xfffffff7
mov dword [edi + 0x3274], ebp
cmp eax, 0x18
ja case.default.0x1025b9ad
movzx eax, byte [eax + 0x1025bda0]
push esi
jmp dword [eax*4 + 0x1025bd80]
mov esi, dword [ebx + ebp]
lea ecx, [ebp + 4]
push esi
lea edx, [ebx + 4]
add edx, ebp
lea ecx, [ecx + esi*2]
lea eax, [ecx + esi*2]
mov dword [edi + 0x3274], eax
lea eax, [ebx + ecx]
push eax
push edx
call fcn.1024c8d0
add esp, 0xc
jmp case.0x1025b9ad.16
mov eax, dword [ebx + ebp]
lea edx, [ebp + 8]
mov ecx, dword [ebx + ebp + 4]
mov dword [edi + 0x3274], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [ebx + edx]
mov ecx, dword [ebx + edx + 4]
add edx, 8
mov dword [edi + 0x3274], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov eax, dword [ebx + edx]
mov ecx, dword [ebx + edx + 4]
add edx, 8
mov dword [edi + 0x3274], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [ebx + edx]
mov ecx, dword [ebx + edx + 4]
add edx, 8
mov dword [edi + 0x3274], edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov eax, dword [ebx + edx]
mov ecx, dword [ebx + edx + 4]
add edx, 8
mov dword [edi + 0x3274], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov eax, dword [ebx + edx]
mov ecx, dword [ebx + edx + 4]
add edx, 8
mov dword [edi + 0x3274], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov eax, dword [ebx + edx]
mov ecx, dword [ebx + edx + 4]
add edx, 8
mov dword [esp + 0x98], eax
mov dword [edi + 0x3274], edx
mov dword [esp + 0x9c], ecx
mov eax, dword [ebx + edx]
mov ecx, dword [ebx + edx + 4]
mov dword [esp + 0xa0], eax
lea eax, [edx + 8]
mov dword [edi + 0x3274], eax
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0xa8], ecx
call fcn.1024d1d0
add esp, 4
jmp case.0x1025b9ad.16
mov esi, dword [ebx + ebp]
lea eax, [ebp + 4]
mov dword [edi + 0x3274], eax
mov ecx, dword [ebx + eax]
add eax, 0x28
mov dword [esp + 0x10], ecx
imul ecx, esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], esi
mov dword [edi + 0x3274], eax
lea ebx, [ecx + ecx]
push ebx
call fcn.1026cf9e
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x1025bbd4
push ebx
call fcn.1026cf9e
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x1025bb42
mov eax, dword [esp + 0x10]
dec esi
dec eax
mov ecx, esi
imul ecx, eax
add ecx, ecx
push ecx
call fcn.1026cf9e
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x1025bb50
mov esi, dword [esp + 0x1c]
push str.rdbuf_image:_Insufficient_memory
call fcn.1024aad0
add esp, 4
dec esi
mov eax, dword [edi + 0x3274]
add eax, dword [edi + 0x326c]
push ebx
push eax
push dword [esp + 0x20]
call fcn.10266230
mov ecx, dword [edi + 0x3274]
mov eax, dword [edi + 0x326c]
add ecx, ebx
push ebx
add eax, ecx
mov dword [edi + 0x3274], ecx
push eax
push ebp
call fcn.10266230
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x3274]
dec eax
imul esi, eax
add ecx, ebx
mov eax, dword [edi + 0x326c]
mov ebx, dword [esp + 0x2c]
add eax, ecx
mov dword [edi + 0x3274], ecx
add esi, esi
push esi
push eax
push ebx
call fcn.10266230
push dword [esp + 0x3c]
add dword [edi + 0x3274], esi
call fcn.1026cbe4
push ebp
call fcn.1026cbe4
push ebx
call fcn.1026cbe4
add esp, 0x30
jmp case.0x1025b9ad.16
xor ebp, ebp
jmp 0x1025bb42
lea eax, [esp + 0x68]
mov dword [esp + 0x30], eax
lea edx, [ebp + 8]
mov eax, dword [ebx + ebp]
mov ecx, dword [ebx + ebp + 4]
mov dword [edi + 0x3458], eax
mov dword [edi + 0x345c], ecx
mov dword [edi + 0x3274], edx
mov eax, dword [ebx + edx]
mov ecx, dword [ebx + edx + 4]
add edx, 8
mov dword [edi + 0x3328], eax
mov dword [edi + 0x332c], ecx
mov dword [edi + 0x3274], edx
mov eax, dword [ebx + edx]
add edx, 4
mov dword [edi + 0x3274], edx
mov dword [esp + 0x24], eax
mov eax, dword [ebx + edx]
mov ecx, dword [ebx + edx + 4]
add edx, 8
mov dword [edi + 0x3274], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
movups xmm0, xmmword [ebx + edx]
movups xmmword [esp + 0x68], xmm0
movups xmm0, xmmword [ebx + edx + 0x10]
add edx, 0x20
mov dword [edi + 0x3274], edx
movups xmmword [esp + 0x78], xmm0
mov eax, dword [ebx + edx]
add edx, 4
mov dword [edi + 0x3274], edx
mov dword [esp + 0x34], eax
mov eax, dword [ebx + edx]
add edx, 4
mov dword [edi + 0x3274], edx
mov dword [esp + 0x38], eax
mov eax, dword [ebx + edx]
add edx, 4
mov dword [edi + 0x3274], edx
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + edx]
add edx, 4
mov dword [esp + 0x40], eax
mov dword [edi + 0x3274], edx
mov al, byte [ebx + edx]
add edx, 2
mov byte [esp + 0x44], al
xor eax, eax
cmp dword [edi + 0x46a0], 0
mov word [esp + 0x5c], ax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
lea eax, [ebx + edx]
mov dword [edi + 0x3274], edx
je 0x1025bd1c
mov ecx, dword [eax]
lea eax, [edx + 4]
push ecx
mov dword [edi + 0x3274], eax
call fcn.1024b810
mov ecx, dword [edi + 0x3274]
add esp, 4
mov edx, dword [edi + 0x326c]
movzx eax, word [edx + ecx]
add ecx, 2
mov esi, eax
mov word [esp + 0x5c], ax
mov dword [edi + 0x3274], ecx
test si, si
je 0x1025bd45
lea eax, [edx + ecx]
mov dword [esp + 0x58], eax
lea eax, [ecx + esi*4]
mov dword [edi + 0x3274], eax
lea eax, [esp + 0x20]
push eax
push 0x14
jmp 0x1025bd5e
movzx eax, word [eax]
add edx, 2
mov dword [edi + 0x3274], edx
test ax, ax
je 0x1025bd45
mov ecx, eax
lea eax, [ebx + edx]
mov dword [esp + 0x60], eax
mov eax, ecx
and eax, 1
add eax, edx
add eax, ecx
mov dword [edi + 0x3274], eax
lea eax, [esp + 0x20]
push eax
push 0x14
jmp 0x1025bd5e
push 0
push 0x12
jmp 0x1025bd5e
push 0
push 0x20
jmp 0x1025bd5e
push 0
push 0x21
call fcn.1024c820
add esp, 8
pop esi
mov ecx, dword [esp + 0xa4]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.1026465b
add esp, 0x9c
ret