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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
mov eax, 1
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
cmp dword [edi + 8], 0
je 0x4d1c00
push edi
call fcn.004c54d0
add esp, 4
lea edx, [edi + 0xc]
cmp dword [ebp + 0x10], 0
je 0x4cf0cf
mov eax, dword [edx]
test eax, 0x1000
je 0x4cf048
and eax, 0xffffefff
mov dword [edx], eax
mov eax, dword [edi + 0x2a0]
push edi
call eax
add esp, 4
test eax, eax
jne 0x4cf048
push str.Error_post_encoding_before_directory_write
push str.TIFFWriteDirectorySec
push dword [edi + 0x304]
call fcn.004bc920
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x2bc]
push edi
call eax
add esp, 4
lea edx, [edi + 0xc]
cmp dword [edi + 0x2f0], 0
jle 0x4cf07c
test byte [edx], 0x40
je 0x4cf07c
push edi
call fcn.004cae50
add esp, 4
test eax, eax
jne 0x4cf079
push str.Error_flushing_data_before_directory_write
jmp 0x4cf02c
lea edx, [edi + 0xc]
test dword [edx], 0x200
je 0x4cf0cc
mov eax, dword [edi + 0x2dc]
test eax, eax
je 0x4cf0cc
push eax
call fcn.004b1ad0
add esp, 4
mov dword [edi + 0x2dc], 0
mov dword [edi + 0x2f0], 0
lea edx, [edi + 0xc]
mov dword [edi + 0x2e0], 0
mov dword [edi + 0x2e4], 0
mov dword [edi + 0x2e8], 0
and dword [edx], 0xffffffaf
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
movsd qword [esp + 0x88], xmm0
xor ebx, ebx
movsd xmm0, qword [0x5cdc80]
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [0x5bbbe0]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x48], ebx
movsd qword [esp + 0x90], xmm0
nop word [eax + eax]
xor esi, esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], esi
test eax, eax
je 0x4d0f2f
test byte [edi + 0x28], 2
je 0x4cf235
mov eax, dword [edi + 0x38]
test ebx, ebx
jne 0x4cf146
mov esi, 1
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cf235
mov ecx, dword [edx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x4cf17a
movzx eax, ax
mov dword [esp + 0x74], eax
test ecx, ecx
je 0x4cf16d
lea eax, [esp + 0x74]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x74]
push eax
push 2
push 1
push 3
jmp 0x4cf19a
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4cf18f
lea eax, [esp + 0x14]
push eax
call fcn.004bd0b0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x100
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x3c]
mov ecx, dword [ecx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x4cf1f1
movzx eax, ax
mov dword [esp + 0x78], eax
test ecx, ecx
je 0x4cf1e4
lea eax, [esp + 0x78]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x78]
push eax
push 2
push 1
push 3
jmp 0x4cf211
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4cf206
lea eax, [esp + 0x14]
push eax
call fcn.004bd0b0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x101
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
test byte [edi + 0x28], 4
je 0x4cf346
mov eax, dword [edi + 0x44]
test ebx, ebx
jne 0x4cf252
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x4cf346
mov ecx, dword [edx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x4cf286
movzx eax, ax
mov dword [esp + 0x7c], eax
test ecx, ecx
je 0x4cf279
lea eax, [esp + 0x7c]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x7c]
push eax
push 2
push 1
push 3
jmp 0x4cf2a6
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4cf29b
lea eax, [esp + 0x14]
push eax
call fcn.004bd0b0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x142
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x48]
mov ecx, dword [ecx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x4cf306
movzx eax, ax
mov dword [esp + 0x80], eax
test ecx, ecx
je 0x4cf2f6
lea eax, [esp + 0x80]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x80]
push eax
push 2
push 1
push 3
jmp 0x4cf326
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4cf31b
lea eax, [esp + 0x14]
push eax
call fcn.004bd0b0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x143
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 8
je 0x4cf59c
movss xmm1, dword [edi + 0x74]
cvtps2pd xmm1, xmm1
movsd qword [esp + 0x38], xmm1
test ebx, ebx
jne 0x4cf36e
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x4cf59c
movsd xmm0, qword [esp + 0x88]
comisd xmm0, xmm1
ja 0x4d16e0
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jp 0x4d16d1
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4cf3ae
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 1
jmp 0x4cf437
movsd xmm0, qword [esp + 0x40]
comisd xmm0, xmm1
jb 0x4cf3fc
movaps xmm0, xmm1
call fcn.00573a10
movsd xmm1, qword [esp + 0x38]
mov ecx, eax
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5bc6c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4cf3f6
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], 1
jmp 0x4cf437
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x90]
comisd xmm2, xmm1
jbe 0x4cf422
mulsd xmm0, xmm1
call fcn.00573a10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0xffffffff
jmp 0x4cf437
divsd xmm0, xmm1
mov dword [esp + 0x4c], 0xffffffff
call fcn.00573a10
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x1c]
test byte [esi], 0x80
je 0x4cf457
lea eax, [esp + 0x4c]
push eax
call fcn.004bd0b0
lea eax, [esp + 0x54]
push eax
call fcn.004bd0b0
add esp, 8
lea eax, [esp + 0x4c]
push eax
push 8
push 1
push 5
push 0x11a
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
movss xmm1, dword [edi + 0x78]
movsd xmm0, qword [esp + 0x88]
cvtps2pd xmm1, xmm1
comisd xmm0, xmm1
movsd qword [esp + 0x38], xmm1
ja 0x4d16e0
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jp 0x4d16d1
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4cf4cc
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 1
jmp 0x4cf555
movsd xmm0, qword [esp + 0x40]
comisd xmm0, xmm1
jb 0x4cf51a
movaps xmm0, xmm1
call fcn.00573a10
movsd xmm1, qword [esp + 0x38]
mov ecx, eax
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5bc6c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4cf514
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 1
jmp 0x4cf555
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x90]
comisd xmm2, xmm1
jbe 0x4cf540
mulsd xmm0, xmm1
call fcn.00573a10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0xffffffff
jmp 0x4cf555
divsd xmm0, xmm1
mov dword [esp + 0x54], 0xffffffff
call fcn.00573a10
mov dword [esp + 0x58], eax
test byte [esi], 0x80
je 0x4cf571
lea eax, [esp + 0x54]
push eax
call fcn.004bd0b0
lea eax, [esp + 0x5c]
push eax
call fcn.004bd0b0
add esp, 8
lea eax, [esp + 0x54]
push eax
push 8
push 1
push 5
push 0x11b
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 0x10
je 0x4cf7f8
movss xmm1, dword [edi + 0x80]
cvtps2pd xmm1, xmm1
movsd qword [esp + 0x38], xmm1
test ebx, ebx
jne 0x4cf5c7
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x4cf7f8
movsd xmm0, qword [esp + 0x88]
comisd xmm0, xmm1
ja 0x4d16e0
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jp 0x4d16d1
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4cf607
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 1
jmp 0x4cf690
movsd xmm0, qword [esp + 0x40]
comisd xmm0, xmm1
jb 0x4cf655
movaps xmm0, xmm1
call fcn.00573a10
movsd xmm1, qword [esp + 0x38]
mov ecx, eax
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5bc6c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4cf64f
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], 1
jmp 0x4cf690
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x90]
comisd xmm2, xmm1
jbe 0x4cf67b
mulsd xmm0, xmm1
call fcn.00573a10
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 0xffffffff
jmp 0x4cf690
divsd xmm0, xmm1
mov dword [esp + 0x5c], 0xffffffff
call fcn.00573a10
mov dword [esp + 0x60], eax
mov esi, dword [esp + 0x1c]
test byte [esi], 0x80
je 0x4cf6b0
lea eax, [esp + 0x5c]
push eax
call fcn.004bd0b0
lea eax, [esp + 0x64]
push eax
call fcn.004bd0b0
add esp, 8
lea eax, [esp + 0x5c]
push eax
push 8
push 1
push 5
push 0x11e
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
movss xmm1, dword [edi + 0x84]
movsd xmm0, qword [esp + 0x88]
cvtps2pd xmm1, xmm1
comisd xmm0, xmm1
movsd qword [esp + 0x38], xmm1
ja 0x4d16e0
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jp 0x4d16d1
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4cf728
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 1
jmp 0x4cf7b1
movsd xmm0, qword [esp + 0x40]
comisd xmm0, xmm1
jb 0x4cf776
movaps xmm0, xmm1
call fcn.00573a10
movsd xmm1, qword [esp + 0x38]
mov ecx, eax
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5bc6c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4cf770
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], 1
jmp 0x4cf7b1
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x90]
comisd xmm2, xmm1
jbe 0x4cf79c
mulsd xmm0, xmm1
call fcn.00573a10
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0xffffffff
jmp 0x4cf7b1
divsd xmm0, xmm1
mov dword [esp + 0x64], 0xffffffff
call fcn.00573a10
mov dword [esp + 0x68], eax
test byte [esi], 0x80
je 0x4cf7cd
lea eax, [esp + 0x64]
push eax
call fcn.004bd0b0
lea eax, [esp + 0x6c]
push eax
call fcn.004bd0b0
add esp, 8
lea eax, [esp + 0x64]
push eax
push 8
push 1
push 5
push 0x11f
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 0x20
je 0x4cf851
test ebx, ebx
jne 0x4cf809
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cf851
mov eax, dword [edi + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4cf826
lea eax, [esp + 0x14]
push eax
call fcn.004bd0b0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0xfe
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 0x40
je 0x4cf91b
movzx eax, word [edi + 0x54]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x4cf871
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cf91b
movzx eax, word [edi + 0x62]
add eax, eax
push eax
call fcn.004b1ae0
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x4d16ef
movzx eax, word [edi + 0x62]
mov ecx, esi
mov esi, eax
xor edx, edx
mov dword [esp + 0x18], esi
xor esi, esi
cmp si, ax
mov esi, ecx
jae 0x4cf8c6
mov ebx, dword [esp + 0x20]
nop dword [eax]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x62]
inc edx
cmp dx, ax
jb 0x4cf8b0
mov ebx, dword [esp + 0x2c]
jmp 0x4cf8ca
mov eax, dword [esp + 0x18]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x4cf8e8
push ecx
push esi
call fcn.004bd050
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x102
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
push dword [esp + 0x34]
mov esi, eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 0x80
je 0x4cf975
test ebx, ebx
jne 0x4cf92c
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cf975
movzx eax, word [edi + 0x58]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4cf94a
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x103
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x100
je 0x4cf9d2
test ebx, ebx
jne 0x4cf989
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cf9d2
movzx eax, word [edi + 0x5a]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4cf9a7
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x106
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x200
je 0x4cfa2f
test ebx, ebx
jne 0x4cf9e6
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfa2f
movzx eax, word [edi + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4cfa04
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x107
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x400
je 0x4cfa8c
test ebx, ebx
jne 0x4cfa43
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfa8c
movzx eax, word [edi + 0x5e]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4cfa61
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x10a
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x8000
je 0x4cfae9
test ebx, ebx
jne 0x4cfaa0
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfae9
movzx eax, word [edi + 0x60]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4cfabe
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x112
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x10000
je 0x4cfb46
test ebx, ebx
jne 0x4cfafd
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfb46
movzx eax, word [edi + 0x62]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4cfb1b
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x115
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x20000
je 0x4cfbe5
mov eax, dword [edi + 0x64]
test ebx, ebx
jne 0x4cfb64
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfbe5
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x4cfba5
movzx eax, ax
mov dword [esp + 0x84], eax
test ecx, ecx
je 0x4cfb95
lea eax, [esp + 0x84]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x84]
push eax
push 2
push 1
push 3
jmp 0x4cfbc5
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4cfbba
lea eax, [esp + 0x14]
push eax
call fcn.004bd0b0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x116
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x40000
je 0x4cfcab
movzx eax, word [edi + 0x68]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x4cfc08
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfcab
movzx eax, word [edi + 0x62]
add eax, eax
push eax
call fcn.004b1ae0
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x4d16ef
movzx eax, word [edi + 0x62]
mov ecx, esi
mov esi, eax
xor edx, edx
mov dword [esp + 0x18], esi
xor esi, esi
cmp si, ax
mov esi, ecx
jae 0x4cfc56
mov ebx, dword [esp + 0x20]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x62]
inc edx
cmp dx, ax
jb 0x4cfc40
mov ebx, dword [esp + 0x2c]
jmp 0x4cfc5a
mov eax, dword [esp + 0x18]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x4cfc78
push ecx
push esi
call fcn.004bd050
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x118
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
push dword [esp + 0x34]
mov esi, eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x80000
je 0x4cfd71
movzx eax, word [edi + 0x6a]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x4cfcce
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfd71
movzx eax, word [edi + 0x62]
add eax, eax
push eax
call fcn.004b1ae0
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x4d16ef
movzx eax, word [edi + 0x62]
mov ecx, esi
mov esi, eax
xor edx, edx
mov dword [esp + 0x18], esi
xor esi, esi
cmp si, ax
mov esi, ecx
jae 0x4cfd1c
mov ebx, dword [esp + 0x20]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x62]
inc edx
cmp dx, ax
jb 0x4cfd06
mov ebx, dword [esp + 0x2c]
jmp 0x4cfd20
mov eax, dword [esp + 0x18]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x4cfd3e
push ecx
push esi
call fcn.004bd050
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x119
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
push dword [esp + 0x34]
mov esi, eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x100000
je 0x4cfdce
test ebx, ebx
jne 0x4cfd85
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfdce
movzx eax, word [edi + 0x7e]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4cfda3
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x11c
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x400000
je 0x4cfe2b
test ebx, ebx
jne 0x4cfde2
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfe2b
movzx eax, word [edi + 0x7c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4cfe00
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x128
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x800000
je 0x4cfe86
lea eax, [edi + 0x88]
test ebx, ebx
jne 0x4cfe45
inc esi
mov dword [esp + 0x10], esi
jmp 0x4cfe86
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x4cfe5f
push 2
push eax
call fcn.004bd050
add esp, 8
lea eax, [edi + 0x88]
push eax
push 4
push 2
push 3
push 0x129
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x1000000
mov edx, dword [esp + 0x1c]
je 0x4d0210
mov ecx, dword [edx]
mov eax, dword [edi + 0xa8]
mov ebx, dword [edi + 0xb0]
mov dword [esp + 0x18], eax
test ecx, 0x400
jne 0x4d0045
cmp dword [esp + 0x2c], 0
jne 0x4cfeca
mov ebx, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0210
cmp byte [edi + 0x128], 0
je 0x4cfee5
push 0
push 0
push 0
push 0
push 0x117
jmp 0x4d0070
mov esi, dword [esp + 0x18]
test ecx, 0x80000
je 0x4cff30
cmp esi, 1
jbe 0x4cff0f
push edi
call fcn.004ca2e0
push 0
push 0xffffffffffffffff
push edx
push eax
push edi
call fcn.004d4720
add esp, 0x18
test eax, eax
je 0x4cff30
push ebx
mov ebx, dword [esp + 0x30]
lea eax, [esp + 0x14]
push esi
push 0x117
push ebx
push eax
push edi
call fcn.004d1f00
add esp, 0x18
mov esi, eax
jmp 0x4d0200
cmp esi, 1
jbe 0x4cffc8
push edi
call fcn.004ca2e0
push 0
push 0xffff
push edx
push eax
push edi
call fcn.004d4720
add esp, 0x18
test eax, eax
jne 0x4cffc8
lea eax, [esi + esi]
push eax
mov dword [esp + 0x18], eax
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x4d1705
xor ecx, ecx
cmp dword [ebx + 4], 0
mov edx, dword [ebx]
ja 0x4d16fe
jb 0x4cff8d
cmp edx, 0xffff
ja 0x4d16fe
mov word [eax], dx
inc ecx
add ebx, 8
add eax, 2
cmp ecx, esi
jb 0x4cff73
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
test byte [eax], 0x80
je 0x4cffb2
push esi
push ebx
call fcn.004bd050
add esp, 8
push ebx
push dword [esp + 0x18]
mov ecx, 3
push esi
push ecx
push 0x117
jmp 0x4d01e0
lea eax, [esi*4]
push eax
mov dword [esp + 0x18], eax
call fcn.004b1ae0
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
je 0x4d1705
xor ecx, ecx
test esi, esi
je 0x4d0018
cmp dword [ebx + 4], 0
mov edx, dword [ebx]
ja 0x4d1733
jb 0x4d0007
cmp edx, 0xffffffff
ja 0x4d1733
mov dword [eax], edx
inc ecx
add ebx, 8
add eax, 4
cmp ecx, esi
jb 0x4cfff0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4d002b
push esi
push edx
call fcn.004bcfc0
add esp, 8
mov ebx, dword [esp + 0x24]
mov ecx, 4
push ebx
push dword [esp + 0x18]
push esi
push ecx
push 0x117
jmp 0x4d01e0
cmp dword [esp + 0x2c], 0
jne 0x4d005a
mov ebx, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0210
cmp byte [edi + 0x128], 0
je 0x4d008a
push 0
push 0
push 0
push 0
push 0x145
mov ebx, dword [esp + 0x40]
lea eax, [esp + 0x24]
push ebx
push eax
push edi
call fcn.004d2700
add esp, 0x20
mov esi, eax
jmp 0x4d0200
mov esi, dword [esp + 0x18]
test ecx, 0x80000
je 0x4d00d5
cmp esi, 1
jbe 0x4d00b4
push edi
call fcn.004ca920
push 0
push 0xffffffffffffffff
push edx
push eax
push edi
call fcn.004d4720
add esp, 0x18
test eax, eax
je 0x4d00d5
push ebx
mov ebx, dword [esp + 0x30]
lea eax, [esp + 0x14]
push esi
push 0x145
push ebx
push eax
push edi
call fcn.004d1f00
add esp, 0x18
mov esi, eax
jmp 0x4d0200
cmp esi, 1
jbe 0x4d0166
push edi
call fcn.004ca920
push 0
push 0xffff
push edx
push eax
push edi
call fcn.004d4720
add esp, 0x18
test eax, eax
jne 0x4d0166
lea eax, [esi + esi]
push eax
mov dword [esp + 0x18], eax
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x4d1705
xor ecx, ecx
nop dword [eax + eax]
cmp dword [ebx + 4], 0
mov edx, dword [ebx]
ja 0x4d16fe
jb 0x4d013a
cmp edx, 0xffff
ja 0x4d16fe
mov word [eax], dx
inc ecx
add ebx, 8
add eax, 2
cmp ecx, esi
jb 0x4d0120
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
test byte [eax], 0x80
je 0x4d015f
push esi
push ebx
call fcn.004bd050
add esp, 8
mov ecx, 3
jmp 0x4d01d4
lea eax, [esi*4]
push eax
mov dword [esp + 0x18], eax
call fcn.004b1ae0
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
je 0x4d1705
xor ecx, ecx
test esi, esi
je 0x4d01b8
nop
cmp dword [ebx + 4], 0
mov edx, dword [ebx]
ja 0x4d1733
jb 0x4d01a7
cmp edx, 0xffffffff
ja 0x4d1733
mov dword [eax], edx
inc ecx
add ebx, 8
add eax, 4
cmp ecx, esi
jb 0x4d0190
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4d01cb
push esi
push edx
call fcn.004bcfc0
add esp, 8
mov ebx, dword [esp + 0x24]
mov ecx, 4
push ebx
push dword [esp + 0x18]
push esi
push ecx
push 0x145
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0x24]
push ebx
push ecx
mov eax, edi
push eax
call fcn.004d2700
push dword [esp + 0x44]
mov esi, eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x2000000
je 0x4d0429
mov edx, dword [edx]
mov eax, dword [edi + 0xac]
mov dword [esp + 0x20], eax
test edx, 0x400
jne 0x4d0319
test eax, eax
je 0x4d0429
mov ecx, dword [edi + 0xa8]
mov dword [esp + 0x14], ecx
test ebx, ebx
jne 0x4d0255
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0429
cmp byte [edi + 0x128], 0
je 0x4d0270
push 0
push 0
push 0
push 0
push 0x111
jmp 0x4d0347
test edx, 0x80000
je 0x4d0295
push eax
push ecx
push 0x111
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.004d1f00
add esp, 0x18
mov esi, eax
jmp 0x4d041d
lea eax, [ecx*4]
push eax
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x4d179d
mov esi, dword [esp + 0x14]
xor edx, edx
mov ecx, eax
test esi, esi
je 0x4d02ed
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], 0
mov esi, dword [eax]
ja 0x4d176a
jb 0x4d02d8
cmp esi, 0xffffffff
ja 0x4d176a
mov dword [ecx], esi
inc edx
mov esi, dword [esp + 0x14]
add eax, 8
add ecx, 4
cmp edx, esi
jb 0x4d02c1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x4d0300
push esi
push eax
call fcn.004bcfc0
add esp, 8
push dword [esp + 0x18]
lea eax, [esi*4]
push eax
push esi
push 4
push 0x111
jmp 0x4d0403
mov ecx, dword [edi + 0xa8]
mov dword [esp + 0x14], ecx
test ebx, ebx
jne 0x4d0331
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0429
cmp byte [edi + 0x128], 0
je 0x4d035d
push 0
push 0
push 0
push 0
push 0x144
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
mov esi, eax
jmp 0x4d041d
test edx, 0x80000
je 0x4d0382
push eax
push ecx
push 0x144
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.004d1f00
add esp, 0x18
mov esi, eax
jmp 0x4d041d
lea eax, [ecx*4]
push eax
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x4d179d
mov esi, dword [esp + 0x14]
xor edx, edx
mov ecx, eax
test esi, esi
je 0x4d03dc
mov eax, dword [esp + 0x20]
nop
cmp dword [eax + 4], 0
mov esi, dword [eax]
ja 0x4d176a
jb 0x4d03c7
cmp esi, 0xffffffff
ja 0x4d176a
mov dword [ecx], esi
inc edx
mov esi, dword [esp + 0x14]
add eax, 8
add ecx, 4
cmp edx, esi
jb 0x4d03b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x4d03ef
push esi
push eax
call fcn.004bcfc0
add esp, 8
push dword [esp + 0x18]
lea eax, [esi*4]
push eax
push esi
push 4
push 0x144
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
push dword [esp + 0x38]
mov esi, eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x4000000
je 0x4d04f8
test ebx, ebx
jne 0x4d0444
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d04f8
mov cl, byte [edi + 0x54]
mov esi, 1
shl esi, cl
mov dword [esp + 0x20], esi
lea eax, [esi + esi*2]
add eax, eax
push eax
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
je 0x4d17ac
add esi, esi
push esi
push dword [edi + 0x8c]
push eax
call fcn.004b1b60
mov eax, dword [esp + 0x34]
push esi
push dword [edi + 0x90]
add eax, esi
push eax
call fcn.004b1b60
mov eax, dword [esp + 0x40]
push esi
mov esi, dword [esp + 0x3c]
push dword [edi + 0x94]
lea eax, [eax + esi*4]
push eax
call fcn.004b1b60
mov eax, dword [esp + 0x40]
lea esi, [esi + esi*2]
add esp, 0x24
test byte [eax], 0x80
je 0x4d04c2
push esi
push dword [esp + 0x2c]
call fcn.004bd050
add esp, 8
push dword [esp + 0x28]
lea eax, [esi + esi]
push eax
push esi
push 3
push 0x140
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
push dword [esp + 0x48]
mov esi, eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov esi, dword [esp + 0x10]
cmp dword [edi + 0x28], 0
jge 0x4d0589
cmp word [edi + 0x9c], 0
je 0x4d0589
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x70]
push eax
push 0x152
push edi
call fcn.004c6ef0
movzx ecx, word [esp + 0x7c]
add esp, 0x10
mov eax, dword [esp + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
test ebx, ebx
jne 0x4d0546
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0589
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x4d0561
push ecx
push eax
call fcn.004bd050
mov ecx, dword [esp + 0x28]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x152
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 1
je 0x4d064c
movzx eax, word [edi + 0x56]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x4d05a9
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d064c
movzx eax, word [edi + 0x62]
add eax, eax
push eax
call fcn.004b1ae0
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x4d16ef
movzx eax, word [edi + 0x62]
mov ecx, esi
mov esi, eax
xor edx, edx
mov dword [esp + 0x18], esi
xor esi, esi
cmp si, ax
mov esi, ecx
jae 0x4d05f7
mov ebx, dword [esp + 0x20]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x62]
inc edx
cmp dx, ax
jb 0x4d05e1
mov ebx, dword [esp + 0x2c]
jmp 0x4d05fb
mov eax, dword [esp + 0x18]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x4d0619
push ecx
push esi
call fcn.004bd050
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x153
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
push dword [esp + 0x34]
mov esi, eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 2
je 0x4d067a
push dword [edi + 0x6c]
movzx eax, word [edi + 0x62]
push eax
push 0x154
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.004d31d0
add esp, 0x18
test eax, eax
je 0x4d184c
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 4
je 0x4d06a8
push dword [edi + 0x70]
movzx eax, word [edi + 0x62]
push eax
push 0x155
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.004d31d0
add esp, 0x18
test eax, eax
je 0x4d184c
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 8
je 0x4d0701
test ebx, ebx
jne 0x4d06b9
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0701
mov eax, dword [edi + 0x40]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4d06d6
lea eax, [esp + 0x14]
push eax
call fcn.004bd0b0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x80e5
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 0x10
je 0x4d075a
test ebx, ebx
jne 0x4d0712
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d075a
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4d072f
lea eax, [esp + 0x14]
push eax
call fcn.004bd0b0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x80e6
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 0x20
je 0x4d07b2
lea eax, [edi + 0x98]
test ebx, ebx
jne 0x4d0771
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d07b2
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x4d078b
push 2
push eax
call fcn.004bd050
add esp, 8
lea eax, [edi + 0x98]
push eax
push 4
push 2
push 3
push 0x141
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 0x80
je 0x4d080a
lea eax, [edi + 0x100]
test ebx, ebx
jne 0x4d07c9
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d080a
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x4d07e3
push 2
push eax
call fcn.004bd050
add esp, 8
lea eax, [edi + 0x100]
push eax
push 4
push 2
push 3
push 0x212
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x100
je 0x4d086a
test ebx, ebx
jne 0x4d081e
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d086a
movzx eax, word [edi + 0x104]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4d083f
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x213
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x200
je 0x4d09fa
mov ecx, dword [edi + 0x114]
mov dword [esp + 0x24], ecx
test ebx, ebx
jne 0x4d088f
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d09fa
push 0x30
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x4d17bb
mov dword [esp + 0x28], 6
mov esi, eax
mov eax, dword [esp + 0x24]
xorps xmm1, xmm1
mov ecx, dword [esp + 0x28]
nop word [eax + eax]
movss xmm0, dword [eax]
comiss xmm1, xmm0
movss dword [esp + 0x20], xmm0
jae 0x4d0987
ucomiss xmm0, xmm0
lahf
test ah, 0x44
jp 0x4d0987
comiss xmm0, xmm1
jb 0x4d0935
movss xmm1, dword [0x5dad78]
comiss xmm1, xmm0
jb 0x4d0935
call fcn.005738f0
mov ecx, dword [esp + 0x24]
mov edx, eax
shr eax, 0x1f
movss xmm1, dword [ecx]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5bc6c0]
cvtpd2ps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x4d092d
mov ecx, dword [esp + 0x28]
xorps xmm1, xmm1
mov dword [esi], edx
jmp 0x4d098d
movss xmm0, dword [esp + 0x20]
jmp 0x4d0939
mov ecx, dword [esp + 0x24]
movss xmm1, dword [0x5bc7f8]
comiss xmm1, xmm0
jbe 0x4d0962
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0x40]
call fcn.00573a10
mov ecx, dword [esp + 0x28]
xorps xmm1, xmm1
mov dword [esi], eax
or eax, 0xffffffff
jmp 0x4d0992
movsd xmm0, qword [esp + 0x40]
mov dword [esi], 0xffffffff
movss xmm1, dword [ecx]
cvtps2pd xmm1, xmm1
divsd xmm0, xmm1
call fcn.00573a10
mov ecx, dword [esp + 0x28]
xorps xmm1, xmm1
jmp 0x4d0992
mov dword [esi], 0
mov eax, 1
mov dword [esi + 4], eax
add esi, 8
mov eax, dword [esp + 0x24]
add eax, 4
sub ecx, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
jne 0x4d08c0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
test byte [eax], 0x80
je 0x4d09c8
push 0xc
push esi
call fcn.004bcfc0
add esp, 8
push esi
push 0x30
push 6
push 5
push 0x214
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
push dword [esp + 0x38]
mov esi, eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x1000
je 0x4d0b7b
test ebx, ebx
jne 0x4d0a15
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0b7b
mov ax, word [edi + 0x62]
mov edx, 1
sub ax, word [edi + 0x9c]
mov cl, byte [edi + 0x54]
shl edx, cl
movzx esi, ax
mov dword [esp + 0x28], edx
cmp esi, 3
jbe 0x4d0a3d
mov esi, 3
jmp 0x4d0a3f
jne 0x4d0a78
mov eax, dword [edi + 0x110]
test eax, eax
je 0x4d0a6e
add edx, edx
push edx
push eax
push dword [edi + 0x108]
mov dword [esp + 0x2c], edx
call fcn.004b1b00
add esp, 0xc
test eax, eax
jne 0x4d0aa7
mov eax, dword [esp + 0x20]
mov esi, 2
jmp 0x4d0a84
lea eax, [edx + edx]
mov esi, 2
jmp 0x4d0a84
cmp esi, 2
jne 0x4d0b95
lea eax, [edx + edx]
mov ecx, dword [edi + 0x10c]
test ecx, ecx
je 0x4d0aa2
push eax
push ecx
push dword [edi + 0x108]
call fcn.004b1b00
add esp, 0xc
test eax, eax
jne 0x4d0aa7
mov esi, 1
mov edx, dword [esp + 0x28]
movzx eax, si
imul eax, edx
mov dword [esp + 0x24], eax
add eax, eax
push eax
mov dword [esp + 0x24], eax
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x4d17ca
mov ecx, dword [esp + 0x28]
add ecx, ecx
push ecx
push dword [edi + 0x108]
mov dword [esp + 0x1c], ecx
push eax
call fcn.004b1b60
add esp, 0xc
cmp si, 1
jbe 0x4d0b0a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push ecx
push dword [edi + 0x10c]
add eax, ecx
push eax
call fcn.004b1b60
add esp, 0xc
cmp si, 2
mov esi, dword [esp + 0x18]
jbe 0x4d0b2e
push dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
push dword [edi + 0x110]
lea eax, [esi + eax*4]
push eax
call fcn.004b1b60
add esp, 0xc
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4d0b44
push dword [esp + 0x24]
push esi
call fcn.004bd050
add esp, 8
push esi
push dword [esp + 0x24]
lea eax, [esp + 0x18]
push dword [esp + 0x2c]
push 3
push 0x12d
push ebx
push eax
push edi
call fcn.004d2700
mov esi, eax
mov eax, dword [esp + 0x38]
push eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x4000
je 0x4d0bcf
mov eax, dword [edi + 0x118]
test ebx, ebx
jne 0x4d0ba5
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0bcf
test si, si
mov eax, 1
cmove esi, eax
jmp 0x4d0aab
push dword [edi + 0x11c]
push eax
push eax
push 2
push 0x14d
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x20000
je 0x4d0d4f
movzx eax, word [edi + 0xf8]
mov ecx, eax
test ax, ax
je 0x4d0d4f
test ebx, ebx
jne 0x4d0bfc
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0d4f
mov eax, dword [edi + 0x260]
mov esi, dword [edi + 0x264]
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
test dword [ecx], 0x80000
jne 0x4d0ce8
shl eax, 2
push eax
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x4d180d
mov ecx, dword [edi + 0xfc]
mov edx, eax
movzx eax, word [edi + 0xf8]
xor esi, esi
mov ebx, eax
mov dword [esp + 0x20], ebx
xor ebx, ebx
cmp bx, ax
mov ebx, dword [esp + 0x2c]
jae 0x4d0c8e
nop dword [eax]
cmp dword [ecx + 4], 0
mov eax, dword [ecx]
ja 0x4d17d9
jb 0x4d0c77
cmp eax, 0xffffffff
ja 0x4d17d9
mov dword [edx], eax
inc esi
movzx eax, word [edi + 0xf8]
add edx, 4
add ecx, 8
cmp si, ax
jb 0x4d0c60
jmp 0x4d0c92
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x4d0cb4
push ecx
push esi
call fcn.004bcfc0
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx*4]
push eax
push ecx
push 0xd
push 0x14a
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
push esi
mov dword [esp + 0x44], eax
call fcn.004b1ad0
mov eax, dword [esp + 0x44]
add esp, 0x24
mov esi, dword [esp + 0x18]
jmp 0x4d0d03
push dword [edi + 0xfc]
push eax
push 0x14a
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.004d1e10
add esp, 0x18
test eax, eax
je 0x4d196e
mov eax, dword [esp + 0x1c]
or dword [eax], 0x2000
movzx eax, word [edi + 0xf8]
mov word [edi + 0x268], ax
cmp eax, 1
jne 0x4d0d3b
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
jmp 0x4d0d3f
mov eax, dword [esp + 0x28]
mov dword [edi + 0x270], eax
mov dword [edi + 0x274], esi
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [edi + 0x324], ecx
jbe 0x4d0f2f
mov eax, dword [edi + 0x320]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x28], eax
movzx eax, word [eax + 0x18]
cmp eax, 0x42
jb 0x4d0f18
mov edx, eax
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [edi + edx*4 + 0x28], eax
je 0x4d0f18
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x14]
dec eax
cmp eax, 0x27
ja case.0x4d0dae.2
movzx eax, byte [eax + 0x4d1c1c]
jmp dword [eax*4 + 0x4d1c08]
lea eax, [esp + 0x9c]
push eax
push dword [edx]
push edi
call fcn.004b2cc0
mov edx, dword [esp + 0xa8]
add esp, 0xc
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d0dd8
mov eax, dword [esp + 0x28]
sub ecx, dword [esp + 0x20]
movzx eax, word [eax]
test ebx, ebx
jne 0x4d0df8
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0f18
push edx
push ecx
push ecx
push 2
push eax
jmp 0x4d0efd
lea eax, [esp + 0x70]
push eax
push dword [edx]
push edi
call fcn.004b2cc0
mov eax, dword [esp + 0x34]
add esp, 0xc
movzx eax, word [eax]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x4d0e2c
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0f18
movzx eax, word [esp + 0x70]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4d0e4b
lea eax, [esp + 0x14]
push eax
call fcn.004bd110
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push dword [esp + 0x30]
jmp 0x4d0efd
lea eax, [esp + 0xa0]
push eax
push dword [edx]
push edi
call fcn.004b2cc0
mov eax, dword [esp + 0x34]
add esp, 0xc
movzx eax, word [eax]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x4d0e8b
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0f18
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x4d0eac
lea eax, [esp + 0x14]
push eax
call fcn.004bd0b0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push dword [esp + 0x30]
jmp 0x4d0efd
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xac]
push eax
push dword [edx]
push edi
call fcn.004b2cc0
mov eax, dword [esp + 0x38]
add esp, 0x10
movzx ecx, word [eax]
test ebx, ebx
jne 0x4d0eea
inc esi
mov dword [esp + 0x10], esi
jmp 0x4d0f18
push dword [esp + 0xa4]
mov eax, dword [esp + 0xac]
push eax
push eax
push 7
push ecx
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
je 0x4d196e
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
mov dword [esp + 0x18], eax
cmp eax, dword [edi + 0x324]
jb 0x4d0d61
xor eax, eax
mov dword [esp + 0x20], eax
cmp dword [edi + 0x120], eax
jbe 0x4d1573
mov ecx, dword [edi + 0x124]
lea edx, [eax + eax*2]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ecx + edx*4 + 4]
mov dword [esp + 0x24], ecx
movzx ebx, word [eax]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x2c]
cmp eax, 0x11
ja case.0x4d0f6d.14
jmp dword [eax*4 + 0x4d1c44]
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
test ebx, ebx
jne 0x4d0f8c
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
push eax
push ecx
push ecx
push 2
push dword [esp + 0x40]
lea eax, [esp + 0x24]
push ebx
push eax
push edi
call fcn.004d2700
add esp, 0x20
test eax, eax
jmp 0x4d1550
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
test ebx, ebx
jne 0x4d0fc3
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
push eax
push ecx
push ecx
push 7
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
test ebx, ebx
jne 0x4d0fe2
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
push eax
push ecx
push ecx
push 1
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
test ebx, ebx
jne 0x4d1001
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
push eax
push ecx
push ecx
push 6
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x4d1024
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x4d103f
push ecx
push eax
call fcn.004bd050
mov ecx, dword [esp + 0x2c]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [ecx + ecx]
push eax
push ecx
push 3
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x4d1068
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x4d1083
push ecx
push eax
call fcn.004bd050
mov ecx, dword [esp + 0x2c]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [ecx + ecx]
push eax
push ecx
push 8
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x4d10ac
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x4d10c7
push ecx
push eax
call fcn.004bcfc0
mov ecx, dword [esp + 0x2c]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [ecx*4]
push eax
push ecx
push 4
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x4d10f4
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x4d110f
push ecx
push eax
call fcn.004bcfc0
mov ecx, dword [esp + 0x2c]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [ecx*4]
push eax
push ecx
push 9
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
test ebx, ebx
jne 0x4d1138
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
push eax
push ecx
push dword [esp + 0x38]
lea eax, [esp + 0x1c]
push ebx
push eax
push edi
call fcn.004d1f00
add esp, 0x18
test eax, eax
jmp 0x4d1550
mov eax, dword [edi + 0x124]
mov edx, dword [eax + edx*4 + 8]
mov dword [esp + 0x14], edx
test ebx, ebx
jne 0x4d1170
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, 0x80000
je 0x4d1866
test al, al
jns 0x4d1197
push ecx
push edx
call fcn.004bd000
mov ecx, dword [esp + 0x2c]
add esp, 8
mov edx, dword [esp + 0x14]
push edx
lea eax, [ecx*8]
push eax
push ecx
push 0x11
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov edx, dword [eax + edx*4 + 8]
mov dword [esp + 0x28], edx
test ebx, ebx
jne 0x4d11c4
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
lea eax, [ecx*8]
push eax
mov dword [esp + 0x3c], eax
call fcn.004b1ae0
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x4d17bb
mov eax, dword [esp + 0x24]
mov esi, ecx
test eax, eax
je 0x4d130e
mov dword [esp + 0x18], eax
xorps xmm1, xmm1
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
nop dword [eax]
nop word [eax + eax]
movss xmm0, dword [eax]
comiss xmm1, xmm0
movss dword [esp + 0xac], xmm0
jae 0x4d12dd
ucomiss xmm0, xmm0
lahf
test ah, 0x44
jp 0x4d12dd
comiss xmm0, xmm1
jb 0x4d128b
movss xmm1, dword [0x5dad78]
comiss xmm1, xmm0
jb 0x4d128b
call fcn.005738f0
mov edx, dword [esp + 0x28]
mov ecx, eax
shr eax, 0x1f
movss xmm1, dword [edx]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x5bc6c0]
cvtpd2ps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x4d1280
mov dword [esi], ecx
xorps xmm1, xmm1
mov ecx, dword [esp + 0x18]
jmp 0x4d12e3
movss xmm0, dword [esp + 0xac]
jmp 0x4d128f
mov edx, dword [esp + 0x28]
movss xmm1, dword [0x5bc7f8]
comiss xmm1, xmm0
jbe 0x4d12b8
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0x40]
call fcn.00573a10
mov ecx, dword [esp + 0x18]
xorps xmm1, xmm1
mov dword [esi], eax
or eax, 0xffffffff
jmp 0x4d12e8
movsd xmm0, qword [esp + 0x40]
mov dword [esi], 0xffffffff
movss xmm1, dword [edx]
cvtps2pd xmm1, xmm1
divsd xmm0, xmm1
call fcn.00573a10
mov ecx, dword [esp + 0x18]
xorps xmm1, xmm1
jmp 0x4d12e8
mov dword [esi], 0
mov eax, 1
mov dword [esi + 4], eax
add esi, 8
mov eax, dword [esp + 0x28]
add eax, 4
sub ecx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
jne 0x4d1210
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x4d1323
add eax, eax
push eax
push ecx
call fcn.004bcfc0
add esp, 8
push dword [esp + 0x14]
lea eax, [esp + 0x14]
push dword [esp + 0x3c]
push dword [esp + 0x2c]
push 5
push dword [esp + 0x40]
push ebx
push eax
push edi
call fcn.004d2700
push dword [esp + 0x34]
jmp 0x4d1544
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
test ebx, ebx
jne 0x4d1362
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
push eax
push ecx
push dword [esp + 0x38]
lea eax, [esp + 0x1c]
push ebx
push eax
push edi
call fcn.004d2420
add esp, 0x18
test eax, eax
jmp 0x4d1550
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
mov dword [esp + 0x38], eax
test ebx, ebx
jne 0x4d139a
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x4d13b5
push ecx
push eax
call fcn.004bcf80
mov ecx, dword [esp + 0x2c]
add esp, 8
mov eax, dword [esp + 0x38]
push eax
lea eax, [ecx*4]
push eax
push ecx
push 0xb
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
mov dword [esp + 0x38], eax
test ebx, ebx
jne 0x4d13e2
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x4d13fd
push ecx
push eax
call fcn.004bcf30
mov ecx, dword [esp + 0x2c]
add esp, 8
mov eax, dword [esp + 0x38]
push eax
lea eax, [ecx*8]
push eax
push ecx
push 0xc
jmp 0x4d0f91
mov eax, dword [edi + 0x124]
mov eax, dword [eax + edx*4 + 8]
mov dword [esp + 0x38], eax
test ebx, ebx
jne 0x4d142a
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x4d1445
push ecx
push eax
call fcn.004bcfc0
mov ecx, dword [esp + 0x2c]
add esp, 8
mov eax, dword [esp + 0x38]
push eax
lea eax, [ecx*4]
push eax
push ecx
push 0xd
jmp 0x4d0f91
cmp dword [esp + 0x2c], 0
mov eax, dword [edi + 0x124]
mov ebx, dword [eax + edx*4 + 8]
jne 0x4d1471
inc esi
mov dword [esp + 0x10], esi
jmp case.0x4d0f6d.14
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, 0x80000
je 0x4d14ba
test al, al
jns 0x4d1490
push ecx
push ebx
call fcn.004bd000
mov ecx, dword [esp + 0x2c]
add esp, 8
push ebx
mov ebx, dword [esp + 0x30]
lea eax, [ecx*8]
push eax
push ecx
push 0x12
push dword [esp + 0x40]
lea eax, [esp + 0x24]
push ebx
push eax
push edi
call fcn.004d2700
add esp, 0x20
mov esi, eax
jmp 0x4d154e
lea eax, [ecx*4]
push eax
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x4d1893
mov esi, dword [esp + 0x24]
xor edx, edx
mov ecx, eax
test esi, esi
je 0x4d150a
cmp dword [ebx + 4], 0
mov eax, dword [ebx]
ja 0x4d1875
jb 0x4d14f9
cmp eax, 0xffffffff
ja 0x4d1875
mov dword [ecx], eax
inc edx
add ebx, 8
add ecx, 4
cmp edx, esi
jb 0x4d14e2
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x4d151d
push esi
push eax
call fcn.004bcfc0
add esp, 8
push dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
lea eax, [esi*4]
push eax
push esi
push 0xd
push dword [esp + 0x40]
lea eax, [esp + 0x24]
push ebx
push eax
push edi
call fcn.004d2700
push dword [esp + 0x38]
mov esi, eax
call fcn.004b1ad0
add esp, 0x24
test esi, esi
je 0x4d196e
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [edi + 0x120]
jb 0x4d0f41
test ebx, ebx
jne 0x4d18d5
mov eax, esi
shl eax, 5
push eax
call fcn.004b1ae0
mov ebx, eax
add esp, 4
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x4d18cb
cmp dword [ebp + 0xc], 0
je 0x4d15be
mov ecx, dword [edi + 0x10]
or ecx, dword [edi + 0x14]
jne 0x4d15b6
push edi
call fcn.004ce730
add esp, 4
test eax, eax
je 0x4d196e
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
jmp 0x4d15e8
mov eax, dword [edi + 0x310]
push 2
push 0
push 0
push dword [edi + 0x304]
call eax
mov ecx, eax
add esp, 0x10
add ecx, 1
mov eax, edx
adc eax, 0
and ecx, 0xfffffffe
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], eax
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
test edx, edx
je 0x4d1602
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
lea ebx, [edi + 0x260]
mov edx, ecx
mov dword [esp + 0x20], ebx
test dword [eax], 0x80000
jne 0x4d1643
lea eax, [esi + esi*2]
mov esi, dword [esp + 0x18]
lea eax, [eax*4 + 6]
add edx, eax
mov dword [esp + 0x48], eax
mov eax, esi
mov dword [edi + 0x260], edx
adc eax, 0
mov dword [edi + 0x264], eax
xor eax, eax
jmp 0x4d165c
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x18]
lea eax, [eax*4 + 0x10]
mov dword [esp + 0x48], eax
add edx, eax
mov eax, esi
adc eax, 0
mov ebx, dword [esp + 0x20]
mov edi, edx
mov dword [esp + 0x14], eax
mov dword [ebx], edi
mov edi, eax
mov dword [ebx + 4], edi
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x2c]
cmp eax, esi
jb 0x4d18c1
ja 0x4d1686
cmp edx, ecx
jb 0x4d18c1
test eax, eax
jb 0x4d18c1
ja 0x4d169a
cmp edx, dword [esp + 0x48]
jb 0x4d18c1
mov eax, edx
and eax, 1
or eax, 0
je 0x4d16ba
mov eax, dword [esp + 0x14]
add edx, 1
mov dword [edi + 0x260], edx
adc eax, 0
mov dword [edi + 0x264], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4d16c8
inc word [edi + 0x250]
mov edx, dword [esp + 0x1c]
jmp 0x4cf110
push str.Not_a_number_value_is_illegal
push str.TIFFWriteDirectoryTagCheckedRational
jmp 0x4d1960
push str.Negative_value_is_illegal
push str.TIFFWriteDirectoryTagCheckedRational
jmp 0x4d1960
push str.Out_of_memory
push str.TIFFWriteDirectoryTagShortPerSample
jmp 0x4d1960
push str.Attempt_to_write_value_larger_than_0xFFFF_in_SHORT_array.
jmp 0x4d1738
push str.Out_of_memory
push str.TIFFWriteDirectoryTagLongLong8Array
push dword [edi + 0x304]
call fcn.004bc920
mov ebx, dword [esp + 0x38]
add esp, 0xc
push ebx
call fcn.004b1ad0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Attempt_to_write_value_larger_than_0xFFFFFFFF_in_LONG_array.
push str.TIFFWriteDirectoryTagLongLong8Array
push dword [edi + 0x304]
call fcn.004bc920
push dword [esp + 0x30]
call fcn.004b1ad0
mov ebx, dword [esp + 0x3c]
add esp, 0x10
push ebx
call fcn.004b1ad0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Attempt_to_write_value_larger_than_0xFFFFFFFF_in_LONG_array.
push str.TIFFWriteDirectoryTagLongLong8Array
push dword [edi + 0x304]
call fcn.004bc920
push dword [esp + 0x24]
call fcn.004b1ad0
add esp, 0x10
push ebx
call fcn.004b1ad0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagLongLong8Array
jmp 0x4d1960
push str.Out_of_memory
push str.TIFFWriteDirectoryTagColormap
jmp 0x4d1960
push str.Out_of_memory
push str.TIFFWriteDirectoryTagCheckedRationalArray
jmp 0x4d1960
push str.Out_of_memory
push str.TIFFWriteDirectoryTagTransferfunction
jmp 0x4d1960
push str.Illegal_value_for_SubIFD_tag
push str.TIFFWriteDirectoryTagSubifd
push dword [edi + 0x304]
call fcn.004bc920
mov esi, dword [esp + 0x20]
push esi
call fcn.004b1ad0
add esp, 0x10
push ebx
call fcn.004b1ad0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagSubifd
jmp 0x4d1960
mov eax, dword [edx + 0x1c]
mov ecx, 0x5da9b4
test eax, eax
cmovne ecx, eax
push ecx
push edx
call fcn.004c5cb0
add esp, 4
push eax
push str.Cannot_write_tag__d___s_
push str.TIFFWriteDirectorySec
push dword [edi + 0x304]
call fcn.004bc920
add esp, 0x14
test ebx, ebx
je 0x4cf03f
push ebx
call fcn.004b1ad0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.SLONG8_not_allowed_for_ClassicTIFF
push str.TIFFWriteDirectoryTagCheckedSlong8Array
jmp 0x4d1960
push str.Attempt_to_write_value_larger_than_0xFFFFFFFF_in_Classic_TIFF_file.
push str.TIFFWriteDirectoryTagIfdIfd8Array
push dword [edi + 0x304]
call fcn.004bc920
push dword [esp + 0x24]
jmp 0x4d174c
push str.Out_of_memory
push str.TIFFWriteDirectoryTagIfdIfd8Array
push dword [edi + 0x304]
call fcn.004bc920
mov ebx, dword [esp + 0x38]
add esp, 0xc
push ebx
call fcn.004b1ad0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Maximum_TIFF_file_size_exceeded
jmp 0x4d195b
push str.Out_of_memory
jmp 0x4cf02c
cmp dword [ebp + 0xc], 0
je 0x4d1942
test dword [edi + 0x2c], 0x20000
je 0x4d1942
mov eax, dword [edi + 0x270]
or eax, dword [edi + 0x274]
jne 0x4d1942
mov ecx, ebx
test esi, esi
je 0x4d190d
mov edx, 0x14a
nop dword [eax]
cmp word [ecx], dx
je 0x4d1914
inc eax
add ecx, 0x20
cmp eax, esi
jne 0x4d1900
push str.Cannot_find_SubIFD_tag
jmp 0x4d195b
mov ecx, dword [esp + 0x34]
mov edx, dword [edi + 0x10]
test dword [ecx], 0x80000
jne 0x4d1980
lea ecx, [eax + eax*2]
xor eax, eax
shl ecx, 2
add ecx, edx
adc eax, dword [edi + 0x14]
add ecx, 0xa
adc eax, 0
mov dword [edi + 0x270], ecx
mov dword [edi + 0x274], eax
push dword [esp + 0x48]
call fcn.004b1ae0
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4d1992
push str.Out_of_memory
push str.TIFFWriteDirectorySec
push dword [edi + 0x304]
call fcn.004bc920
add esp, 0xc
push ebx
call fcn.004b1ad0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [eax + eax*4]
xor eax, eax
shl ecx, 2
add ecx, edx
adc eax, dword [edi + 0x14]
add ecx, 0x14
jmp 0x4d1933
mov ecx, dword [esp + 0x34]
test dword [ecx], 0x80000
jne 0x4d1a8e
mov word [eax], si
test byte [ecx], 0x80
je 0x4d19bb
push eax
call fcn.004bd110
mov eax, dword [esp + 0x2c]
add esp, 4
mov ecx, dword [esp + 0x34]
add eax, 2
mov dword [esp + 0x14], eax
test esi, esi
je 0x4d1a59
lea edi, [ebx + 8]
mov ebx, eax
jmp 0x4d19d5
mov ecx, dword [esp + 0x34]
mov ax, word [edi - 8]
mov word [ebx], ax
test byte [ecx], 0x80
je 0x4d19ee
push ebx
call fcn.004bd110
mov ecx, dword [esp + 0x38]
add esp, 4
mov ax, word [edi - 6]
add ebx, 2
mov word [ebx], ax
test byte [ecx], 0x80
je 0x4d1a06
push ebx
call fcn.004bd110
add esp, 4
mov eax, dword [edi]
add ebx, 2
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push 4
push eax
push ebx
call fcn.004b1b60
mov ecx, dword [esp + 0x40]
add esp, 0xc
test byte [ecx], 0x80
je 0x4d1a31
push ebx
call fcn.004bd0b0
add esp, 4
push 4
lea eax, [edi + 8]
add ebx, 4
push eax
push ebx
call fcn.004b1b60
add esp, 0xc
add ebx, 4
add edi, 0x20
sub esi, 1
jne 0x4d19d1
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x2c]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
test byte [eax], 0x80
je 0x4d1a76
lea eax, [esp + 0x18]
push eax
call fcn.004bd0b0
add esp, 4
push 4
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x1c]
call fcn.004b1b60
add esp, 0xc
jmp 0x4d1b66
mov dword [eax], esi
mov dword [eax + 4], 0
test byte [ecx], 0x80
je 0x4d1aad
push eax
call fcn.004bd0d0
mov eax, dword [esp + 0x2c]
add esp, 4
mov ecx, dword [esp + 0x34]
add eax, 8
mov dword [esp + 0x14], eax
test esi, esi
je 0x4d1b41
lea edi, [ebx + 8]
mov ebx, eax
jmp 0x4d1ac7
mov ecx, dword [esp + 0x34]
mov ax, word [edi - 8]
mov word [ebx], ax
test byte [ecx], 0x80
je 0x4d1ae0
push ebx
call fcn.004bd110
mov ecx, dword [esp + 0x38]
add esp, 4
mov ax, word [edi - 6]
add ebx, 2
mov word [ebx], ax
test byte [ecx], 0x80
je 0x4d1af8
push ebx
call fcn.004bd110
add esp, 4
push 8
add ebx, 2
push edi
push ebx
call fcn.004b1b60
mov eax, dword [esp + 0x40]
add esp, 0xc
test byte [eax], 0x80
je 0x4d1b19
push ebx
call fcn.004bd0d0
add esp, 4
push 8
lea eax, [edi + 8]
add ebx, 8
push eax
push ebx
call fcn.004b1b60
add esp, 0xc
add ebx, 8
add edi, 0x20
sub esi, 1
jne 0x4d1ac3
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
lea eax, [edi + 0x18]
push 8
push eax
push esi
call fcn.004b1b60
mov eax, dword [esp + 0x40]
add esp, 0xc
test byte [eax], 0x80
je 0x4d1b66
push esi
call fcn.004bd0d0
add esp, 4
push ebx
call fcn.004b1ad0
push dword [edi + 0x14]
push dword [edi + 0x10]
push edi
call fcn.004c7840
mov ecx, dword [edi + 0x304]
add esp, 0x10
mov esi, dword [esp + 0x28]
test eax, eax
je 0x4d1ba5
mov ebx, dword [esp + 0x48]
mov eax, dword [edi + 0x30c]
push ebx
push esi
push ecx
call eax
add esp, 0xc
cmp eax, ebx
je 0x4d1bc7
mov ecx, dword [edi + 0x304]
push str.IO_error_writing_directory
push str.TIFFWriteDirectorySec
push ecx
call fcn.004bc920
push esi
call fcn.004b1ad0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.004b1ad0
add esp, 4
cmp dword [ebp + 0x10], 0
je 0x4d1bfb
push edi
call fcn.004b2a90
mov ecx, dword [esp + 0x38]
push edi
and dword [ecx], 0xfffffff7
and dword [ecx], 0xffdfffff
mov ecx, dword [edi + 0x2c4]
call ecx
push edi
call fcn.004b28f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret