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

Disassembly:
sub esp, 0x58
push ebx
push esi
mov esi, dword [esp + 0x64]
push edi
mov eax, dword [esp + 0x78]
push ebp
push 0
push esi
push eax
call fcn.10036380
lea eax, [esp + 0x5c]
mov ecx, dword [esp + 0x88]
add esp, 0xc
push 1
push eax
push ecx
call fcn.10036430
lea ecx, [esp + 0x5d]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 1
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x5e]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 1
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x60]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 2
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x62]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 2
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x5f]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 1
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x64]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 2
push ecx
push edx
call fcn.10036430
add esp, 0xc
lea ecx, [esp + 0x5a]
push 2
mov edx, dword [esp + 0x80]
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x68]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 2
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x6a]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 2
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x6c]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 1
push ecx
push edx
call fcn.10036430
lea ecx, [esp + 0x6d]
mov edx, dword [esp + 0x88]
add esp, 0xc
push 1
push ecx
push edx
call fcn.10036430
add esp, 0xc
cmp eax, 1
je 0x100331c1
mov eax, 0xfffffff4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
lea eax, [esp + 0x54]
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x5e]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x60]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x62]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x64]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x66]
add esp, 8
push 1
push eax
call fcn.10038410
add esp, 8
cmp byte [esp + 0x52], 0x9c
jne 0x1003324a
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edx
add esi, 0x12
push eax
push esi
call fcn.100387b0
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
push 0x428
call fcn.100365b0
add esp, 4
mov ebp, eax
test ebp, ebp
jne 0x1003326a
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
lea eax, [esp + 0x50]
push ebp
push eax
call fcn.10033740
add esp, 8
mov ecx, dword [ebp + 4]
movsx eax, word [ebp + 0xe]
push eax
push ecx
call fcn.100382f0
mov dword [esp + 0x3c], eax
add esp, 8
cmp byte [esp + 0x60], 0x18
jne 0x100332aa
movsx eax, word [esp + 0x5c]
mov dword [esp + 0x40], 3
lea ecx, [eax + eax*2]
mov dword [esp + 0x20], ecx
jmp 0x100332ef
cmp byte [esp + 0x60], 0x20
jne 0x100332c7
mov dword [esp + 0x40], 4
movsx eax, word [esp + 0x5c]
shl eax, 2
mov dword [esp + 0x20], eax
jmp 0x100332ef
cmp byte [esp + 0x60], 8
movsx eax, word [esp + 0x5c]
jne 0x100332e1
mov dword [esp + 0x40], 1
mov dword [esp + 0x20], eax
jmp 0x100332ef
mov dword [esp + 0x40], 2
add eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [0x1004e46c]
add eax, 0xa
push eax
call fcn.100365b0
mov dword [esp + 0x14], eax
add esp, 4
test eax, eax
jne 0x10033315
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
cmp byte [esp + 0x51], 0
je 0x10033336
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
lea edx, [esp + 0x50]
push ecx
push eax
push ebp
push edx
call fcn.10033980
add esp, 0x10
jmp 0x1003334b
cmp byte [esp + 0x60], 8
jne 0x1003334b
push str.tiff
push ebp
call fcn.100306a0
add esp, 8
mov eax, dword [esp + 0x74]
push eax
push ebp
call dword [esp + pe_nt_image_headers32]
add esp, 8
mov esi, eax
test esi, esi
jge 0x10033370
call fcn.100366d0
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
mov eax, dword [0x1004e46c]
cdq
idiv dword [esp + 0x20]
cmp byte [esp + 0x52], 0xa
mov dword [esp + 0x38], eax
je 0x1003339a
cmp byte [esp + 0x52], 9
je 0x1003339a
cmp byte [esp + 0x52], 0xb
je 0x1003339a
imul eax, dword [esp + 0x20]
jmp 0x1003339f
mov eax, dword [0x1004e46c]
cmp byte [esp + 0x50], 0
mov dword [esp + 0x24], eax
je 0x100333c2
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x7c]
movsx eax, byte [esp + 0x50]
push eax
push ecx
push edx
call fcn.10036430
add esp, 0xc
mov eax, dword [esp + 0x34]
add eax, 0x96
push eax
call fcn.100365b0
add esp, 4
mov ebx, eax
test ebx, ebx
jne 0x100333e7
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
mov eax, dword [esp + 0x20]
add eax, 0x3e8
push eax
call fcn.100365b0
mov dword [esp + 0x18], eax
add esp, 4
test eax, eax
jne 0x10033413
call fcn.100366d0
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
test byte [esp + 0x61], 0x20
jne 0x1003342c
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [ebp + 8]
dec eax
mov dword [esp + 0x28], eax
jmp 0x1003343c
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x7c]
push eax
push ecx
push edx
call fcn.10036430
add esp, 0xc
test eax, eax
jne 0x1003349c
mov eax, dword [esp + 0x24]
cmp dword [0x1004e46c], eax
je 0x1003349c
mov eax, dword [esp + 0x14]
push eax
call fcn.10036640
add esp, 4
push ebx
call fcn.10036640
mov ecx, dword [esp + 0x14]
add esp, 4
push ecx
call fcn.10036640
add esp, 4
push ebp
call fcn.10036640
add esp, 4
mov eax, 0xfffffff4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
xor ecx, ecx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], ecx
mov edx, dword [ebp + 4]
mov dword [esp + 0x4c], edx
cmp dword [ebp + 8], ecx
je 0x1003368b
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x38], eax
jg 0x10033508
mov eax, dword [esp + 0x24]
cmp dword [0x1004e46c], eax
je 0x10033508
mov ecx, dword [esp + 0x10]
push eax
mov edx, dword [esp + 0x80]
push ecx
push edx
call fcn.10036430
add esp, 0xc
test eax, eax
je 0x100336c4
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
cmp byte [esp + 0x52], 0xa
je 0x10033529
cmp byte [esp + 0x52], 9
je 0x10033529
cmp byte [esp + 0x52], 0xb
je 0x10033529
mov esi, dword [esp + 0x1c]
add esi, dword [esp + 0x10]
mov edi, esi
jmp 0x10033556
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x80]
push ecx
push edx
push eax
call fcn.100337c0
mov edi, dword [esp + 0x24]
add esp, 0x10
mov esi, edi
mov dword [esp + 0x18], 0
cmp byte [esp + 0x60], 8
jne 0x10033575
mov eax, dword [ebp + 4]
mov edi, ebx
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x10033642
cmp byte [esp + 0x60], 0xf
je 0x10033606
cmp byte [esp + 0x60], 0x10
je 0x10033606
cmp byte [esp + 0x60], 0x18
jne 0x100335c9
mov edx, dword [ebp + 4]
xor eax, eax
xor ecx, ecx
lea edi, [edx + edx*2]
test edi, edi
jle 0x10033642
lea edi, [esi + ecx]
add eax, 3
add ecx, 3
mov dl, byte [edi]
mov byte [ebx + eax - 3], dl
mov dl, byte [edi + 1]
mov byte [ebx + eax - 2], dl
mov dl, byte [edi + 2]
mov byte [ebx + eax - 1], dl
mov edx, dword [ebp + 4]
lea edi, [edx + edx*2]
cmp edi, ecx
jg 0x100335a0
jmp 0x10033642
cmp byte [esp + 0x60], 0x20
jne 0x10033642
xor ecx, ecx
xor eax, eax
test dword [ebp + 4], 0x3fffffff
je 0x10033642
lea edi, [esi + eax]
add ecx, 3
add eax, 4
mov dl, byte [edi]
mov byte [ebx + ecx - 3], dl
mov dl, byte [edi + 1]
mov byte [ebx + ecx - 2], dl
mov dl, byte [edi + 2]
mov byte [ebx + ecx - 1], dl
mov edx, dword [ebp + 4]
shl edx, 2
cmp edx, eax
jne 0x100335dd
jmp 0x10033642
xor esi, esi
xor eax, eax
cmp dword [ebp + 4], eax
je 0x10033642
xor ecx, ecx
add esi, 3
mov cx, word [edi]
add edi, 2
mov edx, ecx
inc eax
and dl, 0x1f
shl dl, 3
mov byte [ebx + esi - 3], dl
mov edx, ecx
shr edx, 2
shr ecx, 7
and dl, 0xf8
and cl, 0xf8
mov byte [ebx + esi - 2], dl
mov byte [ebx + esi - 1], cl
cmp dword [ebp + 4], eax
jne 0x1003360f
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x74]
push eax
push ecx
push edx
push ebx
call dword [esp + pe_nt_image_headers32]
add esp, 0x10
mov esi, eax
test esi, esi
jl 0x100336fd
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x28], eax
add dword [esp + 0x1c], ecx
inc dword [esp + 0x18]
inc dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
cmp dword [ebp + 8], edx
jne 0x100334ca
mov eax, dword [esp + 0x14]
push eax
call fcn.10036640
add esp, 4
push ebx
call fcn.10036640
mov ecx, dword [esp + 0x14]
add esp, 4
push ecx
call fcn.10036640
add esp, 4
push ebp
call fcn.10036640
add esp, 4
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
mov eax, dword [esp + 0x14]
push eax
call fcn.10036640
add esp, 4
push ebx
call fcn.10036640
mov ecx, dword [esp + 0x14]
add esp, 4
push ecx
call fcn.10036640
add esp, 4
push ebp
call fcn.10036640
add esp, 4
mov eax, 0xfffffff4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
mov eax, dword [esp + 0x14]
push eax
call fcn.10036640
add esp, 4
push ebx
call fcn.10036640
mov ecx, dword [esp + 0x14]
add esp, 4
push ecx
call fcn.10036640
add esp, 4
push ebp
call fcn.10036640
add esp, 4
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret