Function at 0x1014cad0
Capabilities:
Check for software breakpoints
Check http status code
Encode data using base64
Encode data using xor
Encrypt data using rc4 ksa
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c0
push esi
xor eax, eax
xor esi, esi
push edi
mov edi, ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x54800]
mov dword [esp + 0xe4], eax
movzx eax, word [edi + 0x54860]
mov dword [esp + 0x160], eax
mov eax, dword [ecx]
mov dword [esp + 0x14], edi
mov dword [esp + 0xf0], esi
mov dword [esp + 0x100], esi
mov eax, dword [eax + 0x14]
mov dword [esp + 0xb0], esi
mov dword [esp + 0x12c], esi
mov dword [esp + 0x108], esi
mov dword [esp + 0x128], esi
mov dword [esp + 0x148], esi
mov dword [esp + 0x144], esi
mov dword [esp + 0x140], esi
mov dword [esp + 0x13c], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x134], esi
mov dword [esp + 0x130], esi
mov dword [esp + 0x14c], esi
mov dword [esp + 0x154], esi
call eax
push 5
mov dword [esp + 0x160], eax
lea eax, [edi + 0xc4]
push str.Nokia
push eax
mov dword [esp + 0x17c], edx
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x10152201
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xb4]
push 0xa
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
push 3
lea eax, [esp + 0xb8]
push 0x102b616c
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x10152201
push 3
lea eax, [esp + 0xb8]
push 0x102b6170
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x10152201
push 4
lea eax, [esp + 0xb8]
push str.IIII
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x10152201
push 4
lea eax, [esp + 0xb8]
push str.MMMM
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x10152201
push 2
lea eax, [esp + 0xb8]
push 0x102b6184
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x101520d0
push 3
lea eax, [esp + 0xb8]
push 0x102b6188
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x101520d0
mov ecx, str.Nikon
lea eax, [esp + 0xb4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014ccb5
test dl, dl
je 0x1014ccb1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014ccb5
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014cc95
xor eax, eax
jmp 0x1014ccba
sbb eax, eax
or eax, 1
mov esi, 0x4949
test eax, eax
jne 0x1014cd12
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x54860], ax
call fcn.1013c960
cmp ax, 0x2a
jne 0x101521f3
mov ecx, edi
call fcn.10135240
mov ecx, dword [edi + 0x54800]
add eax, 0xfffffff8
push 1
push 0
push eax
mov edx, dword [ecx]
call dword [edx + 0xc]
jmp 0x1014d06f
mov ecx, str.OLYMPUS
lea eax, [esp + 0xb4]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014cd40
test dl, dl
je 0x1014cd3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014cd40
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014cd20
xor eax, eax
jmp 0x1014cd45
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014d02b
mov ecx, 0x102b6088
lea eax, [esp + 0xb4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014cd80
test dl, dl
je 0x1014cd7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014cd80
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014cd60
xor eax, eax
jmp 0x1014cd85
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014d02b
push 4
lea eax, [esp + 0xb8]
push str.SONY
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1014d00a
mov ecx, str.Panasonic
lea eax, [esp + 0xb4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014cdd8
test dl, dl
je 0x1014cdd4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014cdd8
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014cdb8
xor eax, eax
jmp 0x1014cddd
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014d00a
push 8
lea eax, [esp + 0xb8]
push str.FUJIFILM
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014ce15
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
sub eax, 0xa
jmp 0x1014d00d
mov ecx, str.OLYMP
lea eax, [esp + 0xb4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014ce41
test dl, dl
je 0x1014ce3d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014ce41
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014ce21
xor eax, eax
jmp 0x1014ce46
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014cff0
mov ecx, str.LEICA
lea eax, [esp + 0xb4]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014ce80
test dl, dl
je 0x1014ce7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014ce80
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014ce60
xor eax, eax
jmp 0x1014ce85
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014cff0
mov ecx, str.Ricoh
lea eax, [esp + 0xb4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014cec0
test dl, dl
je 0x1014cebc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014cec0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014cea0
xor eax, eax
jmp 0x1014cec5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014cff0
mov ecx, str.EPSON
lea eax, [esp + 0xb4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014cf00
test dl, dl
je 0x1014cefc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014cf00
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014cee0
xor eax, eax
jmp 0x1014cf05
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014cff0
mov ecx, 0x102b60b4
lea eax, [esp + 0xb4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014cf40
test dl, dl
je 0x1014cf3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014cf40
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014cf20
xor eax, eax
jmp 0x1014cf45
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014cfd6
mov ecx, 0x102b60b8
lea eax, [esp + 0xb4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014cf80
test dl, dl
je 0x1014cf7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014cf80
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014cf60
xor eax, eax
jmp 0x1014cf85
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014cfd6
mov ecx, dword [edi + 0x54800]
push 1
push 0xffffffffffffffff
push 0xfffffffffffffff6
mov eax, dword [ecx]
call dword [eax + 0xc]
push 7
push str.SAMSUNG
lea esi, [edi + 0xc4]
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014cfca
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [esp + 0x28], eax
jmp 0x1014d075
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], eax
jmp 0x1014d075
mov ecx, dword [edi + 0x54800]
push 1
push 0xffffffffffffffff
push 0xfffffffffffffffc
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], eax
jmp 0x1014d06f
mov ecx, dword [edi + 0x54800]
push 1
push 0xffffffffffffffff
push 0xfffffffffffffffe
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], eax
jmp 0x1014d06f
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov ecx, dword [edi + 0x54800]
push 1
mov word [edi + 0x54860], si
push 0
mov eax, dword [ecx]
push 2
call dword [eax + 0xc]
jmp 0x1014d06f
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [edi + 0x54800]
sub eax, 0xa
push 1
mov dword [esp + 0x2c], eax
push 0xffffffffffffffff
mov eax, dword [ecx]
push 0xfffffffffffffffe
call dword [eax + 0xc]
mov ecx, edi
call fcn.1013c960
cmp byte [esp + 0xb4], 0x4f
mov word [edi + 0x54860], ax
jne 0x1014d06f
mov ecx, edi
call fcn.1013c960
lea esi, [edi + 0xc4]
push 5
push str.LEICA
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x1014d218
push 2
lea esi, [edi + 0x104]
push 0x102b618c
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1014d202
push 8
push str.Leica_M8
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014d202
push 7
push str.LEICA_X
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014d202
push 0x11
push str.LEICA_M__Typ_240_
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x1014d0fa
xor esi, esi
mov dword [esp + 0x28], esi
jmp 0x1014d21c
push 2
push 0x102b61b8
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1014d1af
push 8
push str.Leica_M9
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014d1af
push 0xb
push str.M_Monochrom
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014d1af
push 0xb
push str.Leica_M_Monochrom
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014d1af
push 7
push str.LEICA_T
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x1014d18b
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
lea esi, [eax - 8]
mov eax, 0x14
mov dword [esp + 0x28], esi
mov word [edi + 0x4ba], ax
jmp 0x1014d21c
push 8
push str.LEICA_SL
push esi
call fcn.102855c3
mov esi, dword [esp + 0x34]
add esp, 0xc
test eax, eax
jne 0x1014d21c
mov dword [edi + 0x4b8], 0x170002
jmp 0x1014d21c
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x1014d1dd
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [edi + 0x54800]
push 1
push 0
lea esi, [eax - 0xa]
mov eax, dword [ecx]
push 8
mov dword [esp + 0x34], esi
call dword [eax + 0xc]
jmp 0x1014d21c
cmp eax, 0x3400
jne 0x1014d218
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0xa
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [esp + 0x28]
add esi, 0xa
mov dword [esp + 0x28], esi
jmp 0x1014d21c
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
lea esi, [eax - 8]
mov dword [esp + 0x28], esi
jmp 0x1014d21c
mov esi, dword [esp + 0x28]
mov ecx, edi
call fcn.1013c960
movzx eax, ax
cmp eax, 0x3e8
ja 0x10152201
movzx ecx, word [edi + 0x54860]
mov dword [esp + 0x110], ecx
test eax, eax
je 0x101521f3
shl dword [ebp + 0xc], 0x10
mov dword [esp + 0x150], 0x8c
nop word [eax + eax]
dec eax
mov word [edi + 0x54860], cx
mov dword [esp + 0x158], eax
mov ecx, edi
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0xec]
push eax
push esi
call fcn.1014c820
mov ecx, dword [edi + 0x54800]
mov esi, dword [esp + 0xe0]
or esi, dword [ebp + 0xc]
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
mov dword [esp + 0xe0], esi
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xe8], eax
mov dword [esp + 0x18], edx
cmp ecx, 8
jbe 0x1014d2fb
mov esi, dword [esp + 0x15c]
mov edx, ecx
xor ecx, ecx
add edx, eax
mov eax, dword [esp + 0x170]
adc ecx, dword [esp + 0x18]
shld eax, esi, 1
add esi, esi
cmp ecx, eax
jl 0x1014d2f7
jg 0x1015209b
cmp edx, esi
ja 0x1015209b
mov esi, dword [esp + 0xc]
push 0xa
lea eax, [edi + 0x104]
push str.KODAK_P880
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014d349
push 0xa
lea eax, [edi + 0x104]
push str.KODAK_P850
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014d349
push 0xa
lea eax, [edi + 0x104]
push str.KODAK_P712
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x1014d377
cmp esi, 0xf90b
jne 0x1014d361
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xc54], ax
jmp 0x1014d377
cmp esi, 0xf90c
jne 0x1014d377
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xc56], ax
push 5
lea eax, [edi + 0xc4]
push str.Canon
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x1014d4cb
cmp esi, 0xd
jne 0x1014d454
mov ecx, dword [esp + 8]
cmp ecx, 0x3e800
jae 0x1014d4bc
cmp eax, 4
je 0x1014d400
mov eax, ecx
cmp ecx, 0x10
mov ecx, 0x10
cmovb eax, ecx
mov ecx, edi
push eax
call fcn.10168c80
mov ecx, dword [edi + 0x54800]
push 1
push dword [esp + 0xc]
mov dword [esp + 0xe4], eax
mov edx, dword [ecx]
push eax
call dword [edx + 8]
mov eax, dword [esp + 8]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x128], eax
jmp case.0x1014e3c5.537920004
lea eax, [ecx*4]
mov ecx, 0x10
cmp eax, 0x10
cmovb eax, ecx
mov ecx, edi
push eax
call fcn.10168c80
mov ecx, dword [edi + 0x54800]
push 4
push dword [esp + 0xc]
mov dword [esp + 0xe4], eax
mov eax, dword [ecx]
push dword [esp + 0xe4]
call dword [eax + 8]
mov eax, dword [esp + 8]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x128], eax
jmp case.0x1014e3c5.537920004
cmp esi, 0x10
jne 0x1014d4b8
mov ecx, edi
call fcn.10135240
push eax
mov ecx, edi
call fcn.10136010
mov ecx, dword [esp + 0x108]
mov dword [edi + 0x5484c], eax
test ecx, ecx
je case.0x1014e3c5.537920004
push dword [esp + 0x128]
mov esi, dword [esp + 0xe0]
push ecx
push esi
push eax
mov ecx, edi
call fcn.101361d0
push esi
mov ecx, edi
call fcn.10168d30
mov dword [esp + 0xdc], 0
mov dword [esp + 0x108], 0
jmp case.0x1014e3c5.537920004
mov ecx, dword [esp + 8]
push ecx
push eax
push esi
mov ecx, edi
call fcn.101377d0
jmp case.0x1014e3c5.537920004
push 4
lea eax, [edi + 0xc4]
push str.FUJI
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014d865
cmp esi, 0x10
jne 0x1014d853
push dword [edi + 0x54800]
mov eax, 0x40
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
lea eax, [esp + 0x390]
push eax
call fcn.10160c50
push 0x40
push 4
lea eax, [esp + 0x198]
push eax
lea eax, [esp + 0x3a0]
push eax
call fcn.101603d0
mov ecx, eax
add esp, 0x1c
xor eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], eax
test ecx, ecx
jle case.0x1014e3c5.537920004
mov esi, dword [esp + eax*4 + 0x184]
push 0x3f
push esi
mov byte [esp + 0xda], 0
mov byte [esp + 0xde], 0
call fcn.101604b0
add esp, 8
cmp eax, 0x12
jae 0x1014d5c4
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x1014d590
push 0x3f
push dword [esp + 0x188]
lea eax, [edi + 0xdb4]
push eax
call fcn.1027e4a0
add esp, 0xc
jmp 0x1014d83b
push esi
lea esi, [edi + 0xdb4]
push esi
push str._s__s
lea eax, [esp + 0x20c]
push 0x40
push eax
call fcn.10160c80
push 0x3f
lea eax, [esp + 0x218]
push eax
push esi
call fcn.1027e4a0
add esp, 0x20
jmp 0x1014d83b
push 2
push 0x3f
push esi
call fcn.101604b0
add esp, 8
add eax, 0xfffffff2
add eax, esi
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.1027e4a0
add esp, 0xc
push 2
push 0x3f
push esi
call fcn.101604b0
add esp, 8
add eax, 0xfffffff0
add eax, esi
push eax
lea eax, [esp + 0xdc]
push eax
call fcn.1027e4a0
add esp, 0xc
push 2
push 0x3f
push esi
call fcn.101604b0
add esp, 8
add eax, 0xffffffee
add eax, esi
push eax
lea eax, [esp + 0x10c]
push eax
call fcn.1027e4a0
mov ax, word [esp + 0x110]
movsx ecx, al
movsx eax, ah
push 0x3f
push esi
lea ecx, [ecx + ecx*4]
lea ecx, [ecx - 0x108]
lea ecx, [eax + ecx*2]
cmp ecx, 0x46
lea eax, [ecx + 0x7d0]
lea edx, [ecx + 0x76c]
cmovl edx, eax
mov dword [esp + 0x38], edx
call fcn.101604b0
sub eax, 0x12
push eax
mov dword [esp + 0x48], eax
lea eax, [esp + 0x1b8]
push esi
push eax
call fcn.1027e4a0
mov ecx, dword [esp + 0x50]
add esp, 0x20
xor esi, esi
mov byte [esp + ecx + 0x1a0], 0
cmp byte [esp + 0x1a0], 0
je 0x1014d6e6
lea eax, [esp + 0x1a0]
add eax, esi
cmp byte [eax + 1], 0
je 0x1014d6e2
lea ecx, [esp + 0x164]
push ecx
push 0x102b6228
push eax
call fcn.1001d040
add esp, 0xc
test eax, eax
je 0x1014d6e2
mov ecx, esi
test ecx, ecx
jns 0x1014d6c5
add ecx, 1
sar ecx, 1
mov al, byte [esp + 0x164]
add esi, 2
mov byte [esp + ecx + 0x174], al
cmp byte [esp + esi + 0x1a0], 0
jne 0x1014d693
mov ecx, dword [esp + 0x30]
mov eax, ecx
test eax, eax
jns 0x1014d6ef
add eax, 1
sar eax, 1
lea ecx, [esp + 0x174]
mov byte [esp + eax + 0x175], 0
mov edx, edi
mov eax, ecx
sub edx, eax
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx + 0x250ff], al
test al, al
jne 0x1014d710
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x1014d7dc
cmp dword [esp + 0x20], 1
mov esi, dword [esp + 0x184]
jne 0x1014d780
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0xd8]
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0x180]
push eax
push 0x3f
push esi
call fcn.101604b0
add esp, 8
add eax, 0xfffffff4
add eax, esi
push eax
push str._s__s__d:_s:_s
lea eax, [esp + 0x218]
push 0x40
push eax
call fcn.10160c80
add esp, 0x20
jmp 0x1014d7c1
push 0x3f
push esi
call fcn.101604b0
add eax, 0xfffffff4
add eax, esi
push eax
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0xe4]
push eax
push dword [esp + 0x38]
lea eax, [esp + 0x18c]
push eax
push str._s__d:_s:_s__s
lea eax, [esp + 0x220]
push 0x40
push eax
call fcn.10160c80
add esp, 0x28
push 0x3f
lea eax, [esp + 0x204]
push eax
lea eax, [edi + 0xdb4]
push eax
call fcn.1027e4a0
add esp, 0xc
jmp 0x1014d83b
mov esi, dword [esp + eax*4 + 0x184]
push 0x3f
push esi
call fcn.101604b0
add esi, 0xfffffff4
add eax, esi
lea esi, [edi + 0xdb4]
push eax
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0xe4]
push eax
push dword [esp + 0x38]
lea eax, [esp + 0x18c]
push eax
push esi
push str._s__s__d:_s:_s__s
lea eax, [esp + 0x224]
push 0x40
push eax
call fcn.10160c80
push 0x3f
lea eax, [esp + 0x230]
push eax
push esi
call fcn.1027e4a0
add esp, 0x38
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x20]
jl 0x1014d544
jmp case.0x1014e3c5.537920004
mov eax, dword [esp + 0x10]
mov ecx, edi
push eax
push esi
call fcn.1013c660
jmp case.0x1014e3c5.537920004
push 0xe
lea eax, [edi + 0x104]
push str.Hasselblad_X1D
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014f5d7
push 0xe
lea eax, [edi + 0x104]
push str.Hasselblad_H6D
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014f5d7
push 0xe
lea eax, [edi + 0x104]
push str.Hasselblad_A6D
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014f5d7
push 5
lea eax, [edi + 0xc4]
push str.LEICA
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x1014dc00
cmp esi, 0x35e
je 0x1014d8f1
cmp esi, 0x35f
jne 0x1014d985
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
cmp eax, 0xa
jne 0x1014d98d
cmp ecx, 9
jne 0x1014d98d
xor ecx, ecx
mov eax, 0x9498
cmp esi, 0x35e
mov dword [esp + 0x24], eax
setne cl
mov dword [esp + 0x30], ecx
xor esi, esi
cmp dword [edi + 0x190], esi
jbe 0x1014d963
nop dword [eax]
cmp esi, 4
jae 0x1014d95f
push 0xa
mov ecx, edi
call fcn.1013ca50
mov ecx, dword [esp + 0x30]
imul eax, ecx, 0x2a
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
add eax, dword [esp + 0x24]
add eax, esi
inc esi
fstp dword [edi + eax*4]
cmp esi, dword [edi + 0x190]
jb 0x1014d930
mov eax, dword [esp + 0x24]
add eax, 4
mov dword [esp + 0x24], eax
cmp eax, 0x94a4
jl 0x1014d923
mov esi, dword [esp + 0xc]
lea eax, [ecx + 0x389]
imul eax, eax, 0xa8
or dword [eax + edi], 1
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x10]
cmp esi, 0x34003402
jne 0x1014d9a8
push eax
mov ecx, edi
call fcn.1013ca50
fstp dword [edi + 0x2abec]
jmp case.0x1014e3c5.537920004
cmp esi, 0x320
jne 0x1014da3e
cmp eax, 9
jne case.0x1014e3c5.537920004
cmp ecx, 1
jne case.0x1014e3c5.537920004
push 0xf
lea eax, [edi + 0xc4]
push str.Leica_Camera_AG
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
jne case.0x1014e3c5.537920004
push 5
lea eax, [esp + 0xb8]
push str.LEICA
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne case.0x1014e3c5.537920004
cmp byte [esp + 0xb9], al
jne case.0x1014e3c5.537920004
cmp byte [esp + 0xba], al
jne case.0x1014e3c5.537920004
cmp byte [esp + 0xbb], al
jne case.0x1014e3c5.537920004
push 9
mov ecx, edi
call fcn.1013ca50
fstp dword [edi + 0x2abec]
jmp case.0x1014e3c5.537920004
cmp esi, 0x303
jne 0x1014da74
cmp eax, 4
je case.0x1014e3c5.537920004
mov eax, 0x80
cmp ecx, eax
cmovb eax, ecx
push dword [edi + 0x54800]
push eax
lea eax, [edi + 0x428]
push eax
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
cmp esi, 0x3405
je 0x1014db2c
cmp esi, 0x310
je 0x1014db2c
cmp esi, 0x34003405
je 0x1014db2c
cmp esi, 0x313
je 0x1014daa8
cmp esi, 0x34003406
jne 0x1014db0f
movss xmm0, dword [edi + 0x544]
movss xmm1, dword [0x102c7cc4]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x103f9bc0]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1014db0f
cmp eax, 0xa
je 0x1014dad5
cmp eax, 5
jne 0x1014db0f
push eax
mov ecx, edi
call fcn.1013ca50
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
movss dword [edi + 0x544], xmm0
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x102c7df8]
jbe case.0x1014e3c5.537920004
mov dword [edi + 0x544], 0
jmp case.0x1014e3c5.537920004
cmp esi, 0x3400
jne case.0x1014e3c5.537920004
push esi
push dword [esp + 0x2c]
mov ecx, edi
call fcn.1014cad0
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.10135240
mov dword [edi + 0x420], eax
mov ecx, eax
and eax, 0xfffffffc
mov dword [edi + 0x424], 0
mov edx, dword [edi + 0x424]
and ecx, 3
shld edx, eax, 6
shl eax, 6
or eax, ecx
mov dword [edi + 0x424], edx
mov dword [edi + 0x420], eax
and eax, edx
cmp eax, 0xffffffff
je case.0x1014e3c5.537920004
cmp byte [edi + 0x104], 0x4d
lea esi, [edi + 0x104]
je 0x1014dbd6
push 7
push str.LEICA_M
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014dbd6
cmp byte [esi], 0x53
je 0x1014dbb1
push 7
push str.LEICA_S
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
jne case.0x1014e3c5.537920004
mov eax, 0x10
mov word [edi + 0x4ba], ax
cmp byte [edi + 0x428], 0
je case.0x1014e3c5.537920004
mov word [edi + 0x4aa], ax
jmp case.0x1014e3c5.537920004
mov eax, dword [edi + 0x420]
mov ecx, 0xe
or eax, dword [edi + 0x424]
mov word [edi + 0x4ba], cx
je case.0x1014e3c5.537920004
mov word [edi + 0x4aa], cx
jmp case.0x1014e3c5.537920004
push 5
lea eax, [edi + 0xc4]
push str.NIKON
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014e0aa
cmp esi, 0xa
je 0x1014de65
cmp esi, 0x12
jne 0x1014dc92
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x54800]
mov byte [esp + 0x2f], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
mov ecx, dword [edi + 0x54800]
mov byte [esp + 0x1f], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
test al, al
je case.0x1014e3c5.537920004
movsx edx, byte [esp + 0x1f]
movsx ecx, byte [esp + 0x2f]
imul edx, ecx
movsx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
movss dword [edi + 0x2abe4], xmm1
jmp case.0x1014e3c5.537920004
cmp esi, 0x3b
jne 0x1014dcd8
mov esi, dword [esp + 0x10]
mov ecx, edi
push esi
call fcn.1013ca50
fstp qword [edi + 0xa28]
push esi
mov ecx, edi
call fcn.1013ca50
fstp qword [edi + 0xa38]
push esi
mov ecx, edi
call fcn.1013ca50
fstp qword [edi + 0xa30]
push esi
mov ecx, edi
call fcn.1013ca50
fstp qword [edi + 0xa40]
jmp case.0x1014e3c5.537920004
cmp esi, 0x45
jne 0x1014dd1a
mov ecx, edi
call fcn.1013c960
mov ecx, edi
mov word [edi + 0xb4], ax
call fcn.1013c960
mov word [edi + 0xb6], ax
mov ecx, edi
call fcn.1013c960
mov ecx, edi
mov word [edi + 0xb8], ax
call fcn.1013c960
mov word [edi + 0xba], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0x82
jne 0x1014dd4b
push dword [edi + 0x54800]
mov eax, 0x80
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
lea eax, [edi + 0x678]
push eax
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
cmp esi, 0x83
jne 0x1014dd6b
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov byte [edi + 0x40f], al
jmp case.0x1014e3c5.537920004
cmp esi, 0x84
jne 0x1014ddb4
mov esi, dword [esp + 0x10]
mov ecx, edi
push esi
call fcn.1013ca50
fstp dword [edi + 0x520]
push esi
mov ecx, edi
call fcn.1013ca50
fstp dword [edi + 0x524]
push esi
mov ecx, edi
call fcn.1013ca50
fstp dword [edi + 0x528]
push esi
mov ecx, edi
call fcn.1013ca50
fstp dword [edi + 0x52c]
jmp case.0x1014e3c5.537920004
cmp esi, 0x8b
jne 0x1014de3e
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x54800]
mov byte [esp + 0x2f], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
mov ecx, dword [edi + 0x54800]
mov byte [esp + 0x1f], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
test al, al
je case.0x1014e3c5.537920004
movzx ecx, al
xor edx, edx
mov eax, 0xc
div ecx
movzx ecx, byte [esp + 0x1f]
movzx edx, al
movzx eax, byte [esp + 0x2f]
imul edx, ecx
movzx ecx, dl
imul ecx, eax
movzx eax, cl
mov byte [edi + 0x40d], cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x102c7e58]
movss dword [edi + 0x558], xmm0
jmp case.0x1014e3c5.537920004
cmp esi, 0x93
jne 0x1014de7d
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov word [edi + 0xa1a], ax
cmp eax, 7
je 0x1014de65
cmp eax, 9
jne case.0x1014e3c5.537920004
mov eax, 0x63
mov word [edi + 0x4aa], ax
mov word [edi + 0x4ba], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0x98
jne 0x1014df8a
mov esi, 4
nop
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esp + 0x100]
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
lea edx, [eax + edx*2]
mov dword [esp + 0x100], edx
sub esi, 1
jne 0x1014de90
cmp edx, 0x190
ja 0x1014def5
je 0x1014deee
lea eax, [edx - 0x64]
cmp eax, 0x68
ja case.0x1014ded2.102
movzx eax, byte [eax + 0x10152238]
jmp dword [eax*4 + 0x10152228]
mov esi, 9
jmp 0x1014df2c
mov esi, 0xf
jmp 0x1014df2c
mov esi, 0x10
jmp 0x1014df2c
mov esi, 0x1cb
jmp 0x1014df2c
mov eax, edx
sub eax, 0x191
je 0x1014df27
sub eax, 1
je 0x1014df20
sub eax, 1
je 0x1014df19
mov esi, dword [esp + 0xb0]
test esi, esi
je case.0x1014e3c5.537920004
jmp 0x1014df33
mov esi, 0x36f
jmp 0x1014df2c
mov esi, 0x1fd
jmp 0x1014df2c
mov esi, 0x24e
mov dword [esp + 0xb0], esi
push esi
mov ecx, edi
call fcn.10168c80
mov ecx, dword [edi + 0x54800]
push 1
push esi
push eax
mov edx, dword [ecx]
mov dword [esp + 0x100], eax
call dword [edx + 8]
cmp dword [esp + 0x100], 0xc9
jae case.0x1014e3c5.537920004
push esi
mov esi, dword [esp + 0xf8]
mov ecx, edi
push esi
call fcn.10138a90
push esi
mov ecx, edi
call fcn.10168d30
mov dword [esp + 0xb0], 0
jmp case.0x1014e3c5.537920004
cmp esi, 0xa0
jne 0x1014dfbb
push dword [edi + 0x54800]
mov eax, 0x40
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
lea eax, [edi + 0xd74]
push eax
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
cmp esi, 0xa8
jne 0x1014dffe
mov esi, 4
nop dword [eax + eax]
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esp + 0x12c]
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
lea edx, [eax + edx*2]
mov dword [esp + 0x12c], edx
sub esi, 1
jne 0x1014dfd0
jmp case.0x1014e3c5.537920004
cmp esi, 0xb0
jne 0x1014e039
mov ecx, edi
call fcn.10135240
mov ecx, edi
call fcn.10135240
mov ecx, edi
mov dword [edi + 0xa1c], eax
call fcn.10135240
mov ecx, edi
mov dword [edi + 0xa20], eax
call fcn.10135240
mov dword [edi + 0xa24], eax
jmp case.0x1014e3c5.537920004
cmp esi, 0xb9
jne case.0x1014e3c5.537920004
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x3b]
push 1
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x3b]
mov al, byte [esp + 0x3b]
push 1
mov byte [edi + 0xa48], al
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xcb]
mov al, byte [esp + 0x3b]
push 1
mov byte [edi + 0xa49], al
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov al, byte [esp + 0xcb]
mov byte [edi + 0xa4a], al
jmp case.0x1014e3c5.537920004
push 7
lea eax, [edi + 0xc4]
push str.OLYMPUS
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014e822
cmp esi, 0x20100201
ja 0x1014e3a4
je 0x1014e2ea
cmp esi, 0x1008
ja 0x1014e1db
je 0x1014e1bd
cmp esi, 0x1002
ja 0x1014e193
je 0x1014e148
cmp esi, 0x207
je 0x1014e205
cmp esi, 0x404
jne case.0x1014e3c5.537920004
cmp byte [edi + 0xd74], 0
lea ecx, [edi + 0xd74]
jne case.0x1014e3c5.537920004
push dword [edi + 0x54800]
mov eax, 0x40
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
push ecx
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
mov eax, dword [esp + 0x10]
mov ecx, edi
push eax
call fcn.1013ca50
fstp qword [esp + 0xc0]
movsd xmm0, qword [esp + 0xc0]
sub esp, 8
mulsd xmm0, qword [0x103f9488]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10160460
fstp dword [edi + 0x544]
add esp, 8
jmp case.0x1014e3c5.537920004
cmp esi, 0x1007
jne case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2abf0], xmm0
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2abf8], xmm0
jmp case.0x1014e3c5.537920004
cmp esi, 0x20100101
ja 0x1014e2a8
je 0x1014e112
cmp esi, 0x101a
je 0x1014e112
cmp esi, 0x20100100
jne case.0x1014e3c5.537920004
mov ecx, dword [edi + 0x54800]
mov eax, 7
cmp dword [esp + 8], eax
push 1
cmovb eax, dword [esp + 0xc]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x170]
push eax
call dword [edx + 8]
movzx eax, byte [esp + 0x168]
cdq
mov dword [edi + 0x54850], eax
mov eax, 1
mov byte [esp + 0x16f], 0
mov dword [edi + 0x54854], edx
mov dword [esp + 0x20], eax
nop
mov al, byte [esp + eax + 0x168]
test al, al
je 0x1014e290
mov ecx, dword [edi + 0x54850]
mov esi, dword [edi + 0x54854]
shld esi, ecx, 8
movzx eax, al
cdq
shl ecx, 8
or esi, edx
or ecx, eax
mov dword [edi + 0x54854], esi
mov eax, dword [esp + 0x20]
inc eax
mov dword [edi + 0x54850], ecx
mov dword [esp + 0x20], eax
cmp eax, 7
jb 0x1014e250
push dword [edi + 0x54854]
mov ecx, edi
push dword [edi + 0x54850]
call fcn.10139070
jmp case.0x1014e3c5.537920004
cmp esi, 0x20100102
jne case.0x1014e3c5.537920004
cmp byte [edi + 0xdb4], 0
lea ecx, [edi + 0xdb4]
jne case.0x1014e3c5.537920004
push dword [edi + 0x54800]
mov eax, 0x40
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
push ecx
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x54800]
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], edx
mov esi, dword [ecx]
call dword [esi + 0x18]
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [esp + 0x14]
cdq
mov edi, eax
mov dword [esp + 0x24], edx
mov ecx, dword [ecx + 0x54800]
mov esi, dword [ecx]
mov esi, dword [esi + 0x18]
call esi
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
shld esi, ecx, 8
cdq
or esi, dword [esp + 0x24]
shl ecx, 8
or ecx, edi
mov edi, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
or ecx, eax
mov dword [edi + 0x4a8], 0x80008
or esi, edx
mov dword [edi + 0x420], ecx
mov eax, ecx
mov dword [edi + 0x424], esi
mov ecx, esi
jne 0x1014e378
cmp eax, 0x20000
jb 0x1014e387
test ecx, ecx
jne 0x1014e387
cmp eax, 0x4ffff
jbe case.0x1014e3c5.537920004
and eax, 0x10
or eax, 0
je case.0x1014e3c5.537920004
mov eax, 9
mov word [edi + 0x4aa], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0x20100301
ja 0x1014e57f
je 0x1014e538
lea eax, [esi - 0x20100202]
cmp eax, 8
ja case.0x1014e3c5.537920004
jmp dword [eax*4 + 0x101522a4]
push dword [edi + 0x54800]
mov eax, 0x80
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
lea eax, [edi + 0x304]
push eax
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
mov eax, 0x80
cmp dword [esp + 8], eax
cmovb eax, dword [esp + 8]
jmp 0x1014da59
mov ecx, edi
call fcn.1013c960
movzx eax, ax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102c7cb4]
movss dword [esp], xmm0
movsd xmm0, qword [0x103f9530]
call fcn.1027f670
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
call fcn.10160460
fstp dword [edi + 0x528]
add esp, 8
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
movzx eax, ax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102c7cb4]
movss dword [esp], xmm0
movsd xmm0, qword [0x103f9530]
call fcn.1027f670
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
call fcn.10160460
fstp dword [edi + 0x52c]
add esp, 8
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x520], xmm0
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x102c7e8c]
movss dword [edi + 0x524], xmm0
jbe case.0x1014e3c5.537920004
mov eax, dword [edi + 0x520]
mov dword [edi + 0x524], eax
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
movzx eax, ax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102c7cb4]
movss dword [esp], xmm0
movsd xmm0, qword [0x103f9530]
call fcn.1027f670
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
call fcn.10160460
fstp dword [edi + 0x548]
add esp, 8
jmp case.0x1014e3c5.537920004
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x54800]
shl eax, 8
cdq
mov dword [edi + 0x560], eax
mov dword [edi + 0x564], edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cdq
or dword [edi + 0x560], eax
or dword [edi + 0x564], edx
jmp case.0x1014e3c5.537920004
cmp esi, 0x20401112
ja 0x1014e63e
je 0x1014e629
cmp esi, 0x20400612
ja 0x1014e605
je 0x1014e7ce
cmp esi, 0x20100303
je 0x1014e5dc
cmp esi, 0x20100403
jne case.0x1014e3c5.537920004
push dword [edi + 0x54800]
mov eax, 0x80
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
lea eax, [edi + 0x678]
push eax
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
push dword [edi + 0x54800]
mov eax, 0x80
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
lea eax, [edi + 0x568]
push eax
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
mov eax, esi
sub eax, 0x20400613
je 0x1014ee83
sub eax, 1
je 0x1014e80f
sub eax, 1
je 0x1014e7fc
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov dword [edi + 0xa98], eax
jmp case.0x1014e3c5.537920004
cmp esi, 0x30000612
ja 0x1014e7e1
je 0x1014e7ce
cmp esi, 0x20401113
je 0x1014e7a6
cmp esi, 0x20401306
je 0x1014e71c
cmp esi, 0x20501500
jne case.0x1014e3c5.537920004
mov eax, dword [edi + 0x54850]
or eax, dword [edi + 0x54854]
je case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
mov edx, dword [edi + 0x54850]
mov ecx, dword [edi + 0x54854]
movzx eax, ax
cmp edx, 0x34303430
jne 0x1014e6a9
cmp ecx, 0x44
je 0x1014e707
cmp edx, 0x30303336
jne 0x1014e6b6
cmp ecx, 0x53
je 0x1014e707
cmp dword [esp + 8], 1
jne 0x1014e707
mov ecx, 0xffff8000
cmp ax, cx
je case.0x1014e3c5.537920004
test ax, ax
je case.0x1014e3c5.537920004
mov ecx, 0xc7
cmp ax, cx
cwde
jle 0x1014e708
movss xmm0, dword [0x102c7e84]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x102c7cc0]
subss xmm0, xmm1
movss dword [edi + 0x2abf0], xmm0
jmp case.0x1014e3c5.537920004
cwde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2abf0], xmm0
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
movzx eax, ax
test eax, eax
je case.0x1014e3c5.537920004
cmp eax, 0x64
je case.0x1014e3c5.537920004
cmp eax, 0x3d
jae 0x1014e745
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x1014e757
add eax, 0xffffffe0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x102c7d60]
cmp dword [edi + 0x54850], 0x34353933
movss dword [edi + 0x2abec], xmm0
jne case.0x1014e3c5.537920004
cmp dword [edi + 0x54854], 0x44
jne case.0x1014e3c5.537920004
movss xmm0, dword [edi + 0x2ac04]
comiss xmm0, dword [0x102c7eb4]
jbe case.0x1014e3c5.537920004
addss xmm0, dword [edi + 0x2abec]
movss dword [edi + 0x2abec], xmm0
jmp case.0x1014e3c5.537920004
lea esi, [edi + 0xa9c]
mov dword [esp + 0x20], 4
mov ecx, edi
call fcn.1013c960
sub dword [esp + 0x20], 1
lea esi, [esi + 2]
mov word [esi - 2], ax
jne 0x1014e7b4
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xb4], ax
jmp case.0x1014e3c5.537920004
mov eax, esi
sub eax, 0x30000613
je 0x1014ee83
sub eax, 1
je 0x1014e80f
sub eax, 1
jne case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xba], ax
jmp case.0x1014e3c5.537920004
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xb8], ax
jmp case.0x1014e3c5.537920004
push 6
lea eax, [edi + 0xc4]
push str.PENTAX
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1014e85a
push 5
lea eax, [edi + 0xc4]
push str.RICOH
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014ea86
push 2
lea eax, [edi + 0x104]
push 0x102b6298
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014ea86
cmp esi, 5
jne 0x1014e9aa
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x114]
push 1
push 0x10
push edx
mov eax, dword [ecx]
call dword [eax + 8]
xor esi, esi
mov byte [esp + 0x124], 0
mov edi, esi
nop dword [eax]
nop dword [eax + eax]
movsx eax, byte [esp + esi + 0x114]
push eax
call fcn.10271ddc
add esp, 4
test eax, eax
jne 0x1014e8e0
mov al, byte [esp + esi + 0x114]
cmp al, 0x2d
je 0x1014e8e0
movsx eax, al
push eax
call fcn.10271d53
add esp, 4
test eax, eax
je 0x1014e8e1
inc edi
inc esi
cmp esi, 0x10
jl 0x1014e8b0
mov dword [esp + 0x24], edi
cmp dword [esp + 0x24], 0x10
mov edi, dword [esp + 0x14]
jne 0x1014e938
lea eax, [esp + 0x11c]
push eax
lea eax, [edi + 0xd74]
push 0x102b629c
push eax
call fcn.10007a60
lea eax, [esp + 0x120]
mov byte [esp + 0x128], 0
push eax
lea eax, [edi + 0xdb4]
push 0x102b629c
push eax
call fcn.10007a60
add esp, 0x18
jmp case.0x1014e3c5.537920004
movsx eax, byte [esp + 0x11b]
push eax
movsx eax, byte [esp + 0x11e]
push eax
movsx eax, byte [esp + 0x121]
push eax
movsx eax, byte [esp + 0x124]
push eax
lea eax, [edi + 0xd74]
push str._02x_02x_02x_02x
push eax
call fcn.10007a60
movsx eax, byte [esp + 0x137]
push eax
movsx eax, byte [esp + 0x13a]
push eax
movsx eax, byte [esp + 0x13d]
push eax
movsx eax, byte [esp + 0x140]
push eax
lea eax, [edi + 0xdb4]
push str._02x_02x_02x_02x
push eax
call fcn.10007a60
add esp, 0x30
jmp case.0x1014e3c5.537920004
cmp esi, 0x1001
jne 0x1014e9f8
cmp dword [esp + 0x10], 3
jne case.0x1014e3c5.537920004
mov eax, 0x63
mov dword [edi + 0x4b8], 0x630001
mov word [edi + 0x4aa], ax
mov eax, 1
mov dword [edi + 0x420], 0xffffffff
mov dword [edi + 0x424], 0xffffffff
mov word [edi + 0x4fc], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0x100b
jne 0x1014ea1f
cmp dword [esp + 0x10], 0xa
jne case.0x1014e3c5.537920004
push 0xa
mov ecx, edi
call fcn.1013ca50
fstp dword [edi + 0x2abe4]
jmp case.0x1014e3c5.537920004
cmp esi, 0x1017
jne 0x1014ea63
mov ecx, edi
call fcn.1013c960
cmp ax, 2
jne case.0x1014e3c5.537920004
movups xmm0, xmmword [str.Wide_Angle_Adapter]
movups xmmword [edi + 0x678], xmm0
mov ax, word [0x102b62c4]
mov word [edi + 0x688], ax
mov al, byte [0x102b62c6]
mov byte [edi + 0x68a], al
jmp case.0x1014e3c5.537920004
cmp esi, 0x1500
jne case.0x1014e3c5.537920004
mov eax, dword [esp + 0x10]
mov ecx, edi
push eax
call fcn.1013ca50
fstp dword [edi + 0x540]
jmp case.0x1014e3c5.537920004
push 5
lea eax, [edi + 0xc4]
push str.RICOH
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014ecb6
push 6
lea eax, [edi + 0x104]
push str.PENTAX
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1014ecb6
cmp esi, 5
jne 0x1014eb24
push 3
lea eax, [edi + 0x104]
push 0x102b62c8
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne case.0x1014e3c5.537920004
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x194]
push 1
mov byte [esp + 0x1a0], al
push 8
mov eax, dword [ecx]
push edx
call dword [eax + 8]
lea eax, [esp + 0x194]
push eax
lea eax, [edi + 0xdb4]
push 0x102b629c
push eax
call fcn.10007a60
add esp, 0xc
jmp case.0x1014e3c5.537920004
cmp esi, 0x100b
je 0x1014ea00
cmp esi, 0x1017
je 0x1014ea27
cmp esi, 0x1500
je 0x1014ea6f
cmp esi, 0x2001
jne case.0x1014e3c5.537920004
push 3
lea eax, [edi + 0x104]
push 0x102b62c8
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne case.0x1014e3c5.537920004
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x14
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.1013c960
mov ecx, edi
call fcn.1013c960
cmp ax, 0x2c
je 0x1014ebbe
nop word [eax + eax]
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0xa
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.1013c960
cmp ax, 0x2c
jne 0x1014eba0
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 6
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [edi + 0x54800]
mov ecx, dword [esp + 0x14]
push 0
mov edi, dword [esi]
call fcn.10135240
add eax, 0x14
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
mov edi, dword [esp + 0x14]
push 1
push 0xc
mov ecx, dword [edi + 0x54800]
lea esi, [edi + 0xd74]
push esi
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, edi
mov byte [esi + 0xb], 0
call fcn.1013c960
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
sub eax, 0x30
cdq
mov dword [edi + 0x420], eax
mov dword [edi + 0x424], edx
test edx, edx
ja case.0x1014ec47.4
jb 0x1014ec3a
cmp eax, 8
ja case.0x1014ec47.4
dec eax
cmp eax, 7
ja case.0x1014ec47.4
movzx eax, byte [eax + 0x101522d4]
jmp dword [eax*4 + 0x101522c8]
mov eax, 0x63
mov word [edi + 0x4ba], ax
mov eax, 0x12
mov word [edi + 0x4aa], ax
jmp 0x1014ec86
mov dword [edi + 0x4b8], 0xe0001
mov dword [edi + 0x424], 0xffffffff
mov dword [edi + 0x420], 0xffffffff
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x11
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [edi + 0x54800]
lea esi, [edi + 0x304]
push 1
push 0xc
push esi
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [esi + 0xb], 0
jmp case.0x1014e3c5.537920004
push 6
lea eax, [edi + 0xc4]
push str.PENTAX
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1014ed14
push 6
lea eax, [edi + 0x104]
push str.PENTAX
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1014ed14
push 7
lea eax, [edi + 0xc4]
push str.SAMSUNG
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014f265
cmp dword [edi + 0x188], eax
je 0x1014f265
push 2
lea eax, [edi + 0x104]
push 0x102b6298
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1014f265
cmp esi, 5
jne 0x1014ed51
mov ecx, edi
call fcn.10135240
push eax
mov ecx, edi
mov dword [edi + 0x5484c], eax
call fcn.10139200
jmp case.0x1014e3c5.537920004
cmp esi, 0xd
jne 0x1014ed69
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xd54], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0xe
jne 0x1014ed81
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xd56], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0xf
jne 0x1014ed9d
mov eax, dword [esp + 0x10]
mov ecx, edi
push eax
call fcn.1013ca20
mov dword [edi + 0xd58], eax
jmp case.0x1014e3c5.537920004
cmp esi, 0x10
jne 0x1014edb5
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xd5c], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0x13
jne 0x1014ede0
mov ecx, edi
call fcn.1013c960
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x103f96e0]
movss dword [edi + 0x544], xmm0
jmp case.0x1014e3c5.537920004
cmp esi, 0x14
jne 0x1014edfc
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, edi
push eax
call fcn.101395a0
jmp case.0x1014e3c5.537920004
cmp esi, 0x1d
jne 0x1014ee35
mov ecx, edi
call fcn.10135240
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x103f9710]
movss dword [edi + 0x540], xmm0
jmp case.0x1014e3c5.537920004
cmp esi, 0x34
jne 0x1014ee70
xor esi, esi
nop dword [eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xcc]
push 1
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov al, byte [esp + 0xcc]
mov byte [edi + esi + 0xd5e], al
inc esi
cmp esi, 4
jb 0x1014ee40
jmp case.0x1014e3c5.537920004
cmp esi, 0x38
jne 0x1014ee96
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xb4], ax
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xb6], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0x39
je 0x1014dcf9
cmp esi, 0x3f
jne 0x1014eed7
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x54800]
mov esi, eax
shl esi, 8
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
or eax, esi
cdq
mov dword [edi + 0x420], eax
mov dword [edi + 0x424], edx
jmp case.0x1014e3c5.537920004
cmp esi, 0x47
jne 0x1014eefd
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2abec], xmm0
jmp case.0x1014e3c5.537920004
cmp esi, 0x4d
jne 0x1014ef4d
cmp dword [esp + 0x10], 9
jne 0x1014ef23
push 9
mov ecx, edi
call fcn.1013ca50
fmul qword [0x102c7cf8]
fstp dword [edi + 0x2abe4]
jmp case.0x1014e3c5.537920004
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cwde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x103f96c0]
movss dword [edi + 0x2abe4], xmm0
jmp case.0x1014e3c5.537920004
cmp esi, 0x72
jne 0x1014ef65
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xd62], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0x7e
jne 0x1014ef90
mov ecx, edi
call fcn.10135240
neg eax
mov dword [edi + 0x24f68], eax
mov dword [edi + 0x24f64], eax
mov dword [edi + 0x24f60], eax
mov dword [edi + 0x24f5c], eax
jmp case.0x1014e3c5.537920004
cmp esi, 0x207
jne 0x1014efba
mov eax, dword [esp + 8]
cmp eax, 0xffff
jae case.0x1014e3c5.537920004
push eax
push dword [edi + 0x4b0]
mov ecx, edi
call fcn.10139920
jmp case.0x1014e3c5.537920004
lea eax, [esi - 0x20d]
cmp eax, 7
ja 0x1014eff7
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx edx, ax
mov ecx, esi
mov eax, dword [esp + 0xc]
shr ecx, 1
xor ecx, esi
inc esi
mov eax, dword [eax*4 + 0x10415644]
lea eax, [ecx + eax*4]
mov dword [edi + eax*4 + 0x29390], edx
cmp esi, 4
jb 0x1014efc7
jmp case.0x1014e3c5.537920004
cmp esi, 0x221
jne 0x1014f0b3
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov dword [esp + 0x20], eax
cmp eax, 0x40
ja case.0x1014e3c5.537920004
test eax, eax
je case.0x1014e3c5.537920004
lea esi, [edi + 0x2a394]
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, 0xcfc6
sub ecx, eax
push 1
push 0
push 2
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
movss dword [esi - 4], xmm0
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, edi
mov dword [esi + 0xc], 0x46000000
mov dword [esi + 4], 0x46000000
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi], xmm0
call fcn.1013c960
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 8], xmm0
add esi, 0x14
sub dword [esp + 0x20], 1
jne 0x1014f028
jmp case.0x1014e3c5.537920004
cmp esi, 0x215
jne 0x1014f0ed
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x10
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.10135240
push eax
lea eax, [edi + 0xdb4]
push 0x103f1180
push eax
call fcn.10007a60
add esp, 0xc
jmp case.0x1014e3c5.537920004
cmp esi, 0x229
jne 0x1014f11e
push dword [edi + 0x54800]
mov eax, 0x40
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
lea eax, [edi + 0xd74]
push eax
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
cmp esi, 0x22d
jne 0x1014f1b3
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
call dword [eax + 0x18]
xor esi, esi
mov dword [esp + 0x20], esi
cmp dword [0x10415ebc], esi
jle case.0x1014e3c5.537920004
nop word [eax + eax]
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [0x10415ebc]
mov dword [esp + 0x30], eax
cmp eax, ecx
jge 0x1014f1a5
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.1013c960
movzx edx, ax
mov ecx, esi
mov eax, dword [esp + 0x30]
shr ecx, 1
xor ecx, esi
inc esi
mov eax, dword [eax*4 + 0x10415e98]
lea eax, [ecx + eax*4]
mov dword [edi + eax*4 + 0x29390], edx
cmp esi, 4
jb 0x1014f170
mov ecx, dword [0x10415ebc]
mov esi, dword [esp + 0x20]
inc esi
mov dword [esp + 0x20], esi
cmp esi, ecx
jl 0x1014f150
jmp case.0x1014e3c5.537920004
cmp esi, 0x239
jne case.0x1014e3c5.537920004
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 2
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [edi + 0x54800]
lea esi, [edi + 0x428]
push 1
push 0x1e
push esi
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [esi + 0x1d], 0
lea edi, [esi - 1]
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x1014f1f0
mov ax, word [0x102b6128]
lea edx, [esp + 0x114]
mov ecx, dword [esp + 0x14]
mov word [edi], ax
push 1
push 0x14
mov ecx, dword [ecx + 0x54800]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
lea edx, [esp + 0x114]
mov byte [esp + 0x127], 0
mov ecx, edx
mov dword [esp + 0x20], ecx
mov al, byte [edx]
inc edx
test al, al
jne 0x1014f233
sub edx, ecx
dec esi
nop dword [eax]
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x1014f240
mov edi, esi
mov ecx, edx
mov esi, dword [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x14]
jmp case.0x1014e3c5.537920004
push 7
lea eax, [edi + 0xc4]
push str.SAMSUNG
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014f44e
cmp esi, 2
jne 0x1014f2ea
mov ecx, edi
call fcn.10135240
cmp eax, 0x2000
jne 0x1014f2a7
mov eax, 0x11
mov word [edi + 0x4ba], ax
jmp case.0x1014e3c5.537920004
push 7
lea eax, [edi + 0x104]
push str.NX_mini
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014f2d2
mov eax, 0x13
mov word [edi + 0x4ba], ax
jmp case.0x1014e3c5.537920004
mov eax, 0x63
mov word [edi + 0x4ba], ax
mov word [edi + 0x4aa], ax
jmp case.0x1014e3c5.537920004
cmp esi, 3
jne 0x1014f311
mov ecx, edi
call fcn.10135240
mov dword [edi + 0x4b0], eax
mov dword [edi + 0x4b4], 0
mov dword [edi + 0x5484c], eax
jmp case.0x1014e3c5.537920004
cmp esi, 0x43
jne 0x1014f361
mov ecx, edi
call fcn.10135240
test eax, eax
je case.0x1014e3c5.537920004
movd xmm0, eax
mov ecx, edi
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2abec], xmm0
call fcn.10135240
cmp eax, 0xa
jne case.0x1014e3c5.537920004
movss xmm0, dword [edi + 0x2abec]
divss xmm0, dword [0x103f96e0]
movss dword [edi + 0x2abec], xmm0
jmp case.0x1014e3c5.537920004
cmp esi, 0xa002
je 0x1014f0f5
cmp esi, 0xa003
jne 0x1014f3a5
mov ecx, edi
call fcn.1013c960
movzx eax, ax
cdq
mov dword [edi + 0x420], eax
or eax, edx
mov dword [edi + 0x424], edx
je case.0x1014e3c5.537920004
mov eax, 0x11
mov word [edi + 0x4aa], ax
jmp case.0x1014e3c5.537920004
cmp esi, 0xa005
jne 0x1014f3d6
push dword [edi + 0x54800]
mov eax, 0x80
cmp dword [esp + 0xc], eax
cmovb eax, dword [esp + 0xc]
push eax
lea eax, [edi + 0x384]
push eax
call fcn.10160c50
add esp, 0xc
jmp case.0x1014e3c5.537920004
cmp esi, 0xa019
jne 0x1014f3f5
mov eax, dword [esp + 0x10]
mov ecx, edi
push eax
call fcn.1013ca50
fstp dword [edi + 0x544]
jmp case.0x1014e3c5.537920004
cmp esi, 0xa01a
jne case.0x1014e3c5.537920004
mov ecx, edi
call fcn.10135240
movss xmm1, dword [0x103f96e0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
comiss xmm1, xmm0
movss dword [edi + 0x6fc], xmm0
jbe case.0x1014e3c5.537920004
mulss xmm0, xmm1
movss dword [edi + 0x6fc], xmm0
jmp case.0x1014e3c5.537920004
push 4
lea eax, [edi + 0xc4]
push str.SONY
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014f532
push 6
lea eax, [edi + 0xc4]
push str.Konica
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014f532
push 7
lea eax, [edi + 0xc4]
push str.Minolta
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014f532
push 0xa
lea eax, [edi + 0xc4]
push str.Hasselblad
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
jne case.0x1014e3c5.537920004
push 7
lea eax, [edi + 0x104]
push str.Stellar
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014f532
push 5
lea eax, [edi + 0x104]
push str.Lunar
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014f532
push 5
lea eax, [edi + 0x104]
push str.Lusso
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014f532
push 2
lea eax, [edi + 0x104]
push 0x102b6160
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
jne case.0x1014e3c5.537920004
lea eax, [esp + 0x154]
mov ecx, edi
push eax
lea eax, [esp + 0x1b4]
push eax
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x1d4]
push eax
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0x1e4]
push eax
lea eax, [esp + 0x14c]
push eax
lea eax, [esp + 0x1e8]
push eax
lea eax, [esp + 0x158]
push eax
lea eax, [esp + 0x1d8]
push eax
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x1e4]
push eax
lea eax, [esp + 0x170]
push eax
lea eax, [esp + 0x1f0]
push eax
lea eax, [esp + 0x17c]
push eax
lea eax, [esp + 0x1fc]
push eax
lea eax, [esp + 0x188]
push eax
lea eax, [esp + 0x208]
push eax
mov eax, dword [esp + 0x58]
push 0
push dword [esp + 0x54]
push eax
push esi
call fcn.1013b700
jmp case.0x1014e3c5.537920004
cmp esi, 0x45
jne 0x1014f5eb
mov ecx, edi
call fcn.10135240
mov dword [edi + 0xa50], eax
jmp case.0x1014e3c5.537920004
cmp esi, 0x46
jne case.0x1014e3c5.537920004
mov eax, dword [esp + 0x10]
mov ecx, edi
push eax
call fcn.1013ca50
fstp qword [edi + 0xa58]
mov ecx, dword [edi + 0x54800]
push 0
push dword [esp + 0x1c]
mov eax, dword [ecx]
push dword [esp + 0xf0]
call dword [eax + 0xc]
mov esi, dword [esp + 0xc]
cmp esi, 2
jne 0x1014f67c
lea eax, [edi + 0xc4]
push str.NIKON
push eax
call fcn.1026df90
add esp, 8
test eax, eax
je 0x1014f9cf
movss xmm0, dword [edi + 0x2a8d8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1014f9cf
mov ecx, edi
call fcn.1013c960
mov ecx, edi
call fcn.1013c960
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2a8d8], xmm0
jmp 0x1014f9cf
cmp esi, 0x25
jne 0x1014f743
lea eax, [edi + 0xc4]
push str.NIKON
push eax
call fcn.1026df90
add esp, 8
test eax, eax
je 0x1014f9cf
movss xmm0, dword [edi + 0x2a8d8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1014f6c6
ucomiss xmm0, dword [0x103f972c]
lahf
test ah, 0x44
jp 0x1014f9cf
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xcd]
push 1
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
movzx eax, byte [esp + 0xcd]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x103f95c8]
subsd xmm0, qword [0x103f9588]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10160460
fmul qword [0x103f9640]
add esp, 8
fstp qword [esp + 0xc0]
cvttsd2si eax, qword [esp + 0xc0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2a8d8], xmm0
jmp 0x1014f9cf
cmp esi, 4
jne 0x1014f875
mov eax, dword [esp + 8]
add eax, 0xffffffe5
cmp eax, 7
ja 0x1014f87d
mov ecx, edi
call fcn.10135240
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
cmp ecx, 0x7fff
je 0x1014f7e2
movss xmm0, dword [edi + 0x2a8d8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1014f796
ucomiss xmm0, dword [0x103f972c]
lahf
test ah, 0x44
jp 0x1014f7e2
movd xmm0, ecx
sub esp, 8
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103f9b80]
mulsd xmm0, qword [0x103f93b8]
subsd xmm0, qword [0x103f9578]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10160460
fmul dword [0x102c7e7c]
add esp, 8
fstp dword [edi + 0x2a8d8]
mov ecx, edi
call fcn.10135240
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
cmp ecx, 0xffff
je 0x1014f844
movss xmm0, dword [edi + 0x2a8dc]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1014f844
movsx eax, cx
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7ea8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10160460
fstp dword [edi + 0x2a8dc]
add esp, 8
mov ecx, edi
call fcn.1013c960
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, edi
mov dword [esp + 0x10c], eax
call fcn.1013c960
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov dword [edi + 0x2a8f0], eax
jmp 0x1014f87d
cmp esi, 0x114
jne 0x1014f8e9
push 6
lea eax, [edi + 0xc4]
push str.KONICA
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014f8e9
mov ecx, dword [edi + 0x54800]
cmp esi, 4
push 1
mov eax, 0xa0
cmove eax, dword [esp + 0x154]
mov edx, dword [ecx]
push 0
push eax
call dword [edx + 0xc]
mov ecx, edi
call fcn.1013c960
movzx eax, ax
cmp eax, 0x48
je 0x1014f8e2
cmp eax, 0x4c
je 0x1014f8d9
cmp eax, 0x52
jne 0x1014f8e9
mov dword [edi + 0x30], 5
jmp 0x1014f8e9
mov dword [edi + 0x30], 6
jmp 0x1014f8e9
mov dword [edi + 0x30], 0
cmp esi, 7
jne 0x1014f91d
cmp dword [esp + 0x10], 2
jne 0x1014f9cf
cmp dword [esp + 8], 0x14
jbe 0x1014f9cf
mov ecx, dword [edi + 0x54800]
lea eax, [edi + 0x25100]
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 0x1c]
jmp 0x1014f9cf
cmp esi, 8
jne 0x1014f93f
cmp dword [esp + 0x10], 4
jne 0x1014f9cf
mov ecx, edi
call fcn.10135240
mov dword [edi + 0x2a8f0], eax
jmp 0x1014f9cf
cmp esi, 9
jne 0x1014f976
push 5
lea eax, [edi + 0xc4]
push str.Canon
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1014f9cf
mov ecx, dword [edi + 0x54800]
lea eax, [edi + 0x2aba4]
push 1
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp 0x1014f9cf
cmp esi, 0xc
jne 0x1014f9bc
cmp dword [esp + 8], 4
jne 0x1014f9cf
xor esi, esi
push dword [esp + 0x10]
mov ecx, edi
call fcn.1013ca50
mov ecx, esi
lea eax, [esi + esi]
shr ecx, 1
inc esi
or ecx, eax
and ecx, 3
fstp dword [esp + 0xe8]
fld dword [esp + 0xe8]
fstp dword [edi + ecx*4 + 0x24ff4]
cmp esi, 3
jb 0x1014f984
mov esi, dword [esp + 0xc]
jmp 0x1014f9cf
cmp esi, 0xd
jne 0x1014f9cf
cmp dword [esp + 0x10], 7
jne 0x1014f9cf
mov ecx, edi
call fcn.1013c960
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push 7
mov dword [esp + 0xc4], eax
lea eax, [edi + 0xc4]
push 0x102b62d4
push eax
mov dword [esp + 0x40], edx
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x1014ffd1
cmp esi, 0x20300108
je 0x1014fa15
cmp esi, 0x20310109
jne 0x1014fa23
mov ecx, edi
call fcn.1013c960
mov word [edi + 0xbe8], ax
cmp esi, 0x20400101
jne 0x1014faca
cmp dword [esp + 8], 2
jne 0x1014fadc
push 5
lea eax, [edi + 0x104]
push str.E_410
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x1014fa6e
push 5
lea eax, [edi + 0x104]
push str.E_510
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x1014fadc
lea eax, [edi + 0x2a398]
mov edx, 0x40
lea ecx, [edi + 0x29394]
nop
mov dword [ecx + 8], 0x100
lea ecx, [ecx + 0x10]
mov dword [ecx - 0x10], 0x100
lea eax, [eax + 0x14]
mov dword [eax - 0xc], 0x43800000
mov dword [eax - 0x14], 0x43800000
sub edx, 1
jne 0x1014fa80
lea eax, [edi + 0x29794]
mov ecx, 0xc0
mov dword [eax + 8], 0x100
lea eax, [eax + 0x10]
mov dword [eax - 0x10], 0x100
sub ecx, 1
jne 0x1014fab2
jmp 0x1014fadc
jb 0x1014fc05
cmp esi, 0x20400111
ja 0x1014fc05
lea eax, [esi - 0x101]
mov ecx, edi
movzx eax, ax
movsx esi, ax
movzx eax, word [esi*8 + 0x10415df0]
mov dword [esp + 0x30], eax
lea eax, [esi + esi]
or eax, 1
movzx eax, word [eax*4 + 0x10415df0]
mov dword [esp + 0x24], eax
call fcn.1013c960
movzx eax, ax
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1013c960
mov edx, dword [esp + 0x18]
mov ecx, 0x100
movzx eax, ax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
cmp ax, cx
je 0x1014fb4f
movsx ecx, ax
lea eax, [ecx + 0x2939]
add eax, eax
add ecx, ecx
mov dword [edi + eax*8], edx
mov eax, dword [esp + 0x20]
mov dword [edi + ecx*8 + 0x29398], eax
mov eax, dword [esp + 0x24]
test ax, ax
je 0x1014fb90
movzx eax, ax
lea ecx, [esi + esi*4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + ecx*4 + 0x2a37c], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + ecx*4 + 0x2a380], xmm0
movd xmm0, dword [esp + 0x20]
cvtdq2ps xmm0, xmm0
movss dword [edi + ecx*4 + 0x2a388], xmm0
cmp dword [esp + 8], 4
jne 0x1014fc01
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1013c960
mov ecx, 0x100
movzx edx, ax
mov eax, dword [esp + 0x30]
cmp ax, cx
mov ecx, dword [esp + 0x18]
je 0x1014fbd2
cwde
add eax, eax
mov dword [edi + eax*8 + 0x29394], ecx
mov dword [edi + eax*8 + 0x2939c], edx
mov eax, dword [esp + 0x24]
test ax, ax
je 0x1014fc01
movd xmm0, ecx
lea eax, [esi + esi*4]
cvtdq2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x2a384], xmm0
lea eax, [esi + esi*4]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x2a38c], xmm0
mov esi, dword [esp + 0xc]
lea eax, [esi - 0x20400112]
cmp eax, 0xc
ja 0x1014fc7f
lea eax, [esi - 0x112]
mov ecx, edi
movzx esi, ax
call fcn.1013c960
movsx ecx, si
movzx edx, ax
movzx eax, word [ecx*8 + 0x10415df0]
mov dword [esp + 0xe8], eax
test si, si
je 0x1014fc60
movd xmm0, edx
lea eax, [ecx + ecx*4]
cvtdq2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x2a38c], xmm0
lea eax, [ecx + ecx*4]
movss dword [edi + eax*4 + 0x2a384], xmm0
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0xc]
mov ecx, 0x100
cmp ax, cx
je 0x1014fc7f
cwde
add eax, eax
mov dword [edi + eax*8 + 0x2939c], edx
mov dword [edi + eax*8 + 0x29394], edx
cmp esi, 0x20400121
jne 0x1014fcd7
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, edi
mov dword [edi + 0x293d0], eax
call fcn.1013c960
cmp dword [esp + 8], 4
movzx eax, ax
mov dword [edi + 0x293d8], eax
jne 0x1014ffd1
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, edi
mov dword [edi + 0x293d4], eax
call fcn.1013c960
movzx eax, ax
mov dword [edi + 0x293dc], eax
jmp 0x1014ffd1
cmp esi, 0x2040011f
jne 0x1014fd5f
mov ecx, edi
call fcn.1013c960
cmp dword [edi + 0x293d0], 0
movzx eax, ax
je 0x1014fd02
mov dword [edi + 0x293dc], eax
mov dword [edi + 0x293d4], eax
cmp dword [edi + 0x29930], 0
je 0x1014fd17
mov dword [edi + 0x2993c], eax
mov dword [edi + 0x29934], eax
cmp dword [edi + 0x29940], 0
je 0x1014fd2c
mov dword [edi + 0x2994c], eax
mov dword [edi + 0x29944], eax
cmp dword [edi + 0x29950], 0
je 0x1014fd41
mov dword [edi + 0x2995c], eax
mov dword [edi + 0x29954], eax
cmp dword [edi + 0x29960], 0
je 0x1014ffd1
mov dword [edi + 0x2996c], eax
mov dword [edi + 0x29964], eax
jmp 0x1014ffd1
cmp esi, 0x30000110
jne 0x1014fdfb
mov ecx, str.v757_71
lea eax, [edi + 0x144]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014fd96
test dl, dl
je 0x1014fd92
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014fd96
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014fd76
xor eax, eax
jmp 0x1014fd9b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014ffd1
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, edi
mov dword [edi + 0x298b0], eax
call fcn.1013c960
cmp dword [esp + 8], 2
movzx eax, ax
mov dword [edi + 0x298b8], eax
jne 0x1014ffd1
lea eax, [edi + 0x29394]
mov ecx, 0x100
nop dword [eax]
mov dword [eax + 8], 0x100
lea eax, [eax + 0x10]
mov dword [eax - 0x10], 0x100
sub ecx, 1
jne 0x1014fde0
jmp 0x1014ffd1
cmp esi, 0x30000120
jb 0x1014fe0b
cmp esi, 0x30000124
jbe 0x1014fe1a
lea eax, [esi - 0x30000130]
cmp eax, 3
ja 0x1014fe9d
mov ecx, str.v757_71
lea eax, [edi + 0x144]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1014fe45
test dl, dl
je 0x1014fe41
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1014fe45
add eax, 2
add ecx, 2
test dl, dl
jne 0x1014fe25
xor eax, eax
jmp 0x1014fe4a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1014fe9d
cmp esi, 0x30000124
ja 0x1014fe5e
add esi, 0xcffffee0
jmp 0x1014fe64
add esi, 0xcffffed5
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, dword [esi*4 + 0x10415d74]
add eax, 0x2939
add eax, eax
mov dword [edi + eax*8], ecx
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, dword [esi*4 + 0x10415d74]
mov esi, dword [esp + 0xc]
add eax, eax
mov dword [edi + eax*8 + 0x29398], ecx
cmp esi, 0x20400805
jne 0x1014ff0f
cmp dword [esp + 8], 2
jne 0x1014ffd1
mov esi, dword [esp + 0x10]
mov ecx, edi
push esi
call fcn.1013ca50
call fcn.1026a620
push esi
mov ecx, edi
mov dword [edi + 0xaa4], eax
call fcn.1013ca50
call fcn.1026a620
mov dword [edi + 0xaa8], eax
mov eax, dword [edi + 0xaa4]
mov dword [edi + 0x24f5c], eax
mov eax, dword [edi + 0xaa4]
mov dword [edi + 0x24f60], eax
mov eax, dword [edi + 0xaa4]
mov dword [edi + 0x24f64], eax
mov eax, dword [edi + 0xaa4]
mov dword [edi + 0x24f68], eax
jmp 0x1014ffd1
cmp esi, 0x20200306
jne 0x1014ff40
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xce]
push 1
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov al, byte [esp + 0xce]
mov byte [edi + 0xbea], al
jmp 0x1014ffd1
cmp esi, 0x20200307
jne 0x1014ffb8
lea esi, [edi + 0xbec]
mov dword [esp + 0x18], 3
nop word [eax + eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x50]
push 2
mov word [esp + 0x54], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x1014ff95
movzx ecx, byte [esp + 0x51]
movzx eax, byte [esp + 0x50]
jmp 0x1014ff9f
movzx ecx, byte [esp + 0x50]
movzx eax, byte [esp + 0x51]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [esi], ax
add esi, 2
sub dword [esp + 0x18], 1
jne 0x1014ff60
jmp 0x1014ffd1
cmp esi, 0x20200401
jne 0x1014ffd1
push dword [esp + 0x10]
mov ecx, edi
call fcn.1013ca50
fstp dword [edi + 0x2abe4]
mov ecx, dword [edi + 0x54800]
push 0
push dword [esp + 0x38]
mov eax, dword [ecx]
push dword [esp + 0xc8]
call dword [eax + 0xc]
mov esi, dword [esp + 0xc]
cmp esi, 0x11
jne 0x10150053
cmp dword [edi + 0x184], 0
je 0x101501bf
push 5
lea eax, [edi + 0xc4]
push str.NIKON
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x101501bf
mov esi, dword [edi + 0x54800]
mov ecx, dword [esp + 0x14]
push eax
mov edi, dword [esi]
call fcn.10135240
add eax, dword [esp + 0x2c]
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
push dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.10157770
mov esi, dword [esp + 0xc]
jmp 0x101501bf
cmp esi, 0x14
jne 0x10150194
cmp dword [esp + 0x10], 7
jne 0x101501bf
cmp dword [esp + 8], 0xa00
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
jne 0x1015008a
push 1
push 0
push 0x4e0
call dword [eax + 0xc]
jmp 0x101517f8
push 0xa
push 1
lea edx, [esp + 0xbc]
push edx
call dword [eax + 8]
push 4
lea eax, [esp + 0xb8]
push str.NRW
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x101501bf
mov ecx, str.0100
lea eax, [esp + 0xb8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101500e4
test dl, dl
je 0x101500e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101500e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x101500c4
xor esi, esi
jmp 0x101500e9
sbb esi, esi
or esi, 1
mov ecx, dword [edi + 0x54800]
test esi, esi
push 1
mov eax, 0x60a
mov esi, 0x2e
cmovne eax, esi
mov edx, dword [ecx]
push 0
push eax
call dword [edx + 0xc]
mov ecx, edi
call fcn.10135240
shl eax, 2
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ff4], xmm0
call fcn.10135240
mov ecx, edi
mov esi, eax
call fcn.10135240
add esi, eax
mov ecx, edi
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ff8], xmm0
call fcn.10135240
mov esi, dword [esp + 0xc]
shl eax, 2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ffc], xmm0
jmp 0x101501bf
cmp esi, 0x15
jne 0x101501bf
cmp dword [esp + 0x10], 2
jne 0x101501bf
cmp dword [edi + 0x184], 0
je 0x101501bf
mov ecx, dword [edi + 0x54800]
lea edx, [edi + 0x104]
push 1
push 0x40
push edx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [edi + 0xc4]
push str.PENTAX
push eax
call fcn.1026df90
add esp, 8
test eax, eax
je 0x1015020b
cmp esi, 0x1b
jne 0x101501f1
mov esi, 0x1018
mov dword [esp + 0xc], esi
mov dword [esp + 0xe0], esi
jmp 0x1015176f
cmp esi, 0x1c
jne 0x1015020b
mov esi, 0x1017
mov dword [esp + 0xc], esi
mov dword [esp + 0xe0], esi
jmp 0x101516ed
cmp esi, 0x1d
jne 0x101503ba
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov esi, eax
test esi, esi
je 0x1015030d
nop dword [eax + eax]
cmp esi, 0xffffffff
je 0x1015030d
cmp dword [esp + 0xf0], 0
jne 0x101502bf
push esi
call fcn.10271d82
add esp, 4
test eax, eax
jne 0x101502bf
push 0x3f
push eax
lea eax, [edi + 0x104]
push eax
call fcn.1026e330
add esp, 0xc
test eax, eax
je 0x101502b4
lea edx, [edi + 0x104]
sub eax, edx
cmp eax, 3
jne 0x101502b4
mov ecx, 0x103f3bb8
mov eax, edx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101502a0
test dl, dl
je 0x1015029c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101502a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10150280
xor eax, eax
jmp 0x101502a5
sbb eax, eax
or eax, 1
mov dword [esp + 0xf0], 0x22
test eax, eax
je 0x101502bf
mov dword [esp + 0xf0], 0x60
push esi
call fcn.10271d82
add esp, 4
test eax, eax
je 0x101502d1
add esi, 0xffffffd0
jmp 0x101502e2
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub esi, eax
mov ecx, dword [esp + 0xec]
lea eax, [ecx + ecx*4]
lea ecx, [esi + eax*2]
mov dword [esp + 0xec], ecx
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov esi, eax
test esi, esi
jne 0x10150230
cmp byte [edi + 0xd74], 0
lea eax, [edi + 0xd74]
jne 0x10150331
push dword [esp + 0xec]
push 0x103f1180
push eax
call fcn.10007a60
add esp, 0xc
mov esi, dword [esp + 0xc]
mov eax, esi
or eax, 0x70
cmp eax, 0x2070
mov eax, dword [esp + 0x10]
jne 0x10151916
cmp eax, 4
je 0x10150357
cmp eax, 0xd
jne 0x10151916
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xac]
push 4
mov dword [esp + 0xb0], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101518c9
movzx esi, byte [esp + 0xaf]
movzx eax, byte [esp + 0xae]
shl esi, 8
or esi, eax
movzx eax, byte [esp + 0xad]
shl esi, 8
or esi, eax
movzx eax, byte [esp + 0xac]
jmp 0x101518f3
cmp esi, 0x29
jne 0x1015045c
cmp dword [esp + 0x10], 1
jne 0x10150335
mov eax, dword [esp + 0x10c]
cmp eax, 0x12
jae 0x101503fd
movsx eax, byte [eax + str.012347800000005896]
cdq
mov esi, eax
shld edx, esi, 5
shl esi, 5
sub esi, 0x5f8
sbb edx, 0
mov dword [esp + 0xc4], edx
jmp 0x1015040d
mov esi, 8
mov dword [esp + 0xc4], 0
mov ecx, dword [edi + 0x54800]
push 1
push 0
push esi
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
nop
mov ecx, edi
call fcn.10135240
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x103f9b80]
mov eax, esi
xor eax, 2
shr eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jb 0x10150420
jmp 0x10150331
cmp esi, 0x81
jne 0x10150559
mov eax, dword [esp + 0x10]
cmp eax, 4
jne 0x1015054f
mov ecx, edi
call fcn.10135240
mov ecx, dword [edi + 0x54800]
mov edx, eax
mov dword [edi + 0x54880], eax
add edx, 0x29
mov dword [edi + 0x54884], 0
mov eax, dword [edi + 0x54884]
mov esi, dword [ecx]
adc eax, 0
push 0
push eax
push edx
call dword [esi + 0xc]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x54]
push 2
mov word [esp + 0x58], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov esi, 0x4949
cmp word [edi + 0x54860], si
jne 0x101504de
movzx ecx, byte [esp + 0x55]
movzx eax, byte [esp + 0x54]
jmp 0x101504e8
movzx ecx, byte [esp + 0x54]
movzx eax, byte [esp + 0x55]
shl cx, 8
lea edx, [esp + 0x58]
or cx, ax
mov word [esp + 0x58], 0xffff
movzx eax, cx
mov ecx, dword [edi + 0x54800]
add eax, eax
push 2
mov word [edi + 0x10], ax
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [edi + 0x54860], si
jne 0x10150528
movzx ecx, byte [esp + 0x59]
movzx eax, byte [esp + 0x58]
jmp 0x10150532
movzx ecx, byte [esp + 0x58]
movzx eax, byte [esp + 0x59]
shl cx, 8
or cx, ax
mov dword [edi + 0x194], 0x61616161
movzx eax, cx
mov word [edi + 0x12], ax
jmp 0x10150331
cmp eax, 7
je 0x10150580
jmp 0x10150335
cmp esi, 0x100
jne 0x1015056d
cmp dword [esp + 0x10], 7
je 0x10150580
jmp 0x10150335
cmp esi, 0x280
jne 0x101505a3
cmp dword [esp + 0x10], 1
jne 0x10150335
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [edi + 0x54818], eax
mov eax, dword [esp + 8]
mov dword [edi + 0x5481c], edx
mov dword [edi + 0x2ac28], eax
cmp esi, 0x88
jne 0x101505ec
cmp dword [esp + 0x10], 4
jne 0x10150335
mov ecx, edi
call fcn.10135240
mov dword [edi + 0x54818], eax
or eax, 0
mov dword [edi + 0x5481c], 0
je 0x10150335
mov eax, dword [esp + 0x28]
cdq
add dword [edi + 0x54818], eax
adc dword [edi + 0x5481c], edx
jmp 0x10150335
cmp esi, 0x89
jne 0x10150611
cmp dword [esp + 0x10], 4
jne 0x10150335
mov ecx, edi
call fcn.10135240
mov dword [edi + 0x2ac28], eax
jmp 0x10150335
cmp esi, 0x8c
je 0x10150621
cmp esi, 0x96
jne 0x1015063a
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [edi + 0x54888], eax
mov dword [edi + 0x5488c], edx
cmp esi, 0x97
jne 0x1015085c
mov esi, 4
nop dword [eax + eax]
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esp + 0xf8]
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
lea edx, [eax + edx*2]
mov dword [esp + 0xf8], edx
sub esi, 1
jne 0x10150650
mov eax, edx
sub eax, 0x64
je 0x101507d6
sub eax, 2
je 0x1015075e
sub eax, 1
je 0x101506d8
cmp edx, 0xc8
jb 0x10150331
cmp edx, 0xcd
je 0x101506b9
mov ecx, dword [edi + 0x54800]
push 1
push esi
push 0x118
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x240]
push 1
push 0x144
push edx
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x10150331
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x10
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [edi + 0x24ff4]
mov dword [esp + 0x18], 4
nop word [eax + eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x5c]
push 2
mov word [esp + 0x60], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10150735
movzx ecx, byte [esp + 0x5d]
movzx eax, byte [esp + 0x5c]
jmp 0x1015073f
movzx ecx, byte [esp + 0x5c]
movzx eax, byte [esp + 0x5d]
shl ecx, 8
or ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub dword [esp + 0x18], 1
jne 0x10150700
jmp 0x10150331
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 6
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x4c]
push 2
mov word [esp + 0x50], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101507a6
movzx ecx, byte [esp + 0x4d]
movzx eax, byte [esp + 0x4c]
jmp 0x101507b0
movzx ecx, byte [esp + 0x4c]
movzx eax, byte [esp + 0x4d]
shl ecx, 8
or ecx, eax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jb 0x10150771
jmp 0x10150331
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x44
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x60]
push 2
mov word [esp + 0x64], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10150825
movzx ecx, byte [esp + 0x61]
movzx eax, byte [esp + 0x60]
jmp 0x1015082f
movzx ecx, byte [esp + 0x60]
movzx eax, byte [esp + 0x61]
shl ecx, 8
or ecx, eax
mov eax, esi
shr eax, 1
movd xmm0, ecx
mov ecx, esi
and ecx, 1
inc esi
add ecx, ecx
cvtdq2ps xmm0, xmm0
or ecx, eax
movss dword [edi + ecx*4 + 0x24ff4], xmm0
cmp esi, 4
jb 0x101507f0
jmp 0x10150331
cmp esi, 0xa1
jne 0x1015097a
cmp dword [esp + 0x10], 7
jne 0x10150335
push 7
lea eax, [edi + 0xc4]
push 0x102b6300
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x10150335
mov ecx, dword [edi + 0x54800]
mov eax, 0x4949
push 1
mov word [edi + 0x54860], ax
push 0
mov eax, dword [ecx]
push 0x8c
call dword [eax + 0xc]
lea esi, [edi + 0x24ff4]
mov dword [esp + 0x18], 3
nop
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x98]
push 4
mov dword [esp + 0x9c], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x1015091c
movzx ecx, byte [esp + 0x9b]
movzx eax, byte [esp + 0x9a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x99]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x98]
jmp 0x10150946
movzx ecx, byte [esp + 0x98]
movzx eax, byte [esp + 0x99]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x9a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x9b]
shl ecx, 8
or ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub dword [esp + 0x18], 1
jne 0x101508c0
jmp 0x10150331
cmp esi, 0xa4
jne 0x10150a1e
cmp dword [esp + 0x10], 3
jne 0x10150335
mov ecx, dword [edi + 0x54800]
mov eax, dword [esp + 0x10c]
push 1
push 0
mov edx, dword [ecx]
lea eax, [eax + eax*2]
shl eax, 4
push eax
call dword [edx + 0xc]
lea esi, [edi + 0x24ff4]
mov dword [esp + 0x18], 3
nop dword [eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x64]
push 2
mov word [esp + 0x68], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101509f5
movzx ecx, byte [esp + 0x65]
movzx eax, byte [esp + 0x64]
jmp 0x101509ff
movzx ecx, byte [esp + 0x64]
movzx eax, byte [esp + 0x65]
shl ecx, 8
or ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub dword [esp + 0x18], 1
jne 0x101509c0
jmp 0x10150331
cmp esi, 0xa7
jne 0x10150ce3
mov esi, dword [edi + 0x54800]
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esi]
mov ecx, esi
mov dword [esp + 0x24], eax
mov edx, dword [edx + 0x18]
call edx
mov ecx, dword [edi + 0x54800]
xor byte [esp + 0x24], al
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x54800]
xor al, byte [esp + 0x24]
mov byte [esp + 0x1f], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
mov esi, dword [esp + 0xf8]
xor al, byte [esp + 0x1f]
mov dword [esp + 0xc0], eax
lea ecx, [esi - 0xc8]
cmp ecx, 0x11
jae 0x10150bfa
mov ecx, dword [esp + 0xec]
movzx ecx, cl
mov dh, byte [ecx + 0x102b4080]
movzx ecx, al
mov dl, dh
mov al, dh
add al, al
add dl, al
mov ah, byte [ecx + 0x102b4180]
xor ecx, ecx
shl dl, 5
add ah, dl
add dl, dh
xor byte [esp + ecx + 0x240], ah
inc ecx
cmp ecx, 0x144
jb 0x10150ab3
movsx esi, byte [esi + 0x102b6240]
mov eax, 0x4949
sub esi, 0x30
mov ecx, esi
and ecx, 0xfffffffe
cmp word [edi + 0x54860], ax
jne 0x10150af6
movzx edx, byte [esp + ecx + 0x241]
movzx eax, byte [esp + ecx + 0x240]
jmp 0x10150b06
movzx edx, byte [esp + ecx + 0x240]
movzx eax, byte [esp + ecx + 0x241]
shl edx, 8
and esi, 1
or edx, eax
mov eax, 0x4949
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + esi*4 + 0x24ff4], xmm0
cmp word [edi + 0x54860], ax
jne 0x10150b3e
movzx edx, byte [esp + ecx + 0x243]
movzx eax, byte [esp + ecx + 0x242]
jmp 0x10150b4e
movzx edx, byte [esp + ecx + 0x242]
movzx eax, byte [esp + ecx + 0x243]
shl edx, 8
or edx, eax
mov eax, esi
xor eax, 1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x24ff4], xmm0
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10150b88
movzx edx, byte [esp + ecx + 0x245]
movzx eax, byte [esp + ecx + 0x244]
jmp 0x10150b98
movzx edx, byte [esp + ecx + 0x244]
movzx eax, byte [esp + ecx + 0x245]
shl edx, 8
or edx, eax
mov eax, esi
xor eax, 3
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x24ff4], xmm0
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10150bd2
movzx edx, byte [esp + ecx + 0x247]
movzx eax, byte [esp + ecx + 0x246]
jmp 0x10150be2
movzx edx, byte [esp + ecx + 0x246]
movzx eax, byte [esp + ecx + 0x247]
shl edx, 8
or edx, eax
xor esi, 2
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + esi*4 + 0x24ff4], xmm0
cmp dword [esp + 0x100], 0xc8
jbe 0x10150cb6
mov esi, dword [esp + 0xb0]
test esi, esi
je 0x10150cb6
mov eax, dword [esp + 0xf0]
test eax, eax
jne 0x10150c2f
mov eax, dword [esp + 0xec]
movzx eax, al
mov ch, byte [eax + 0x102b4080]
mov cl, 0x60
mov eax, dword [esp + 0xc0]
xor edx, edx
movzx eax, al
mov byte [esp + 0xcf], ch
mov byte [esp + 0x1f], cl
mov al, byte [eax + 0x102b4180]
mov byte [esp + 0x2f], al
test esi, esi
je 0x10150c93
mov edi, dword [esp + 0xf4]
movzx eax, ch
movzx ecx, cl
imul ecx, eax
mov al, byte [esp + 0x2f]
mov ch, byte [esp + 0xcf]
add al, cl
mov cl, byte [esp + 0x1f]
xor byte [edi + edx], al
inc cl
inc edx
mov byte [esp + 0x2f], al
mov byte [esp + 0x1f], cl
cmp edx, esi
jb 0x10150c63
mov edi, dword [esp + 0x14]
push esi
mov esi, dword [esp + 0xf8]
mov ecx, edi
push esi
call fcn.10138a90
push esi
mov ecx, edi
mov dword [esp + 0xb4], 0
call fcn.10168d30
cmp dword [esp + 0xf8], 0x259
mov esi, dword [esp + 0xc]
jne 0x10150335
mov eax, 0x63
mov word [edi + 0x4aa], ax
mov word [edi + 0x4ba], ax
jmp 0x10150335
cmp esi, 0xb001
jne 0x10150d53
cmp dword [esp + 0x10], 3
jne 0x10150335
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x68]
push 2
mov word [esp + 0x6c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10150d39
movzx ecx, byte [esp + 0x69]
movzx eax, byte [esp + 0x68]
shl ecx, 8
or ecx, eax
mov dword [edi + 0x5484c], ecx
jmp 0x10150335
movzx ecx, byte [esp + 0x68]
movzx eax, byte [esp + 0x69]
shl ecx, 8
or ecx, eax
mov dword [edi + 0x5484c], ecx
jmp 0x10150335
cmp esi, 0x200
jne 0x10150e9c
mov ecx, dword [esp + 8]
cmp ecx, 3
jne 0x10150e32
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xfc]
push 4
mov dword [esp + 0x100], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x9c]
push 4
mov dword [esp + 0xa0], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10150df8
movzx ecx, byte [esp + 0x9f]
movzx eax, byte [esp + 0x9e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x9d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x9c]
shl ecx, 8
or ecx, eax
mov dword [edi + 0x2a8f0], ecx
jmp 0x10150335
movzx ecx, byte [esp + 0x9c]
movzx eax, byte [esp + 0x9d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x9e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x9f]
shl ecx, 8
or ecx, eax
mov dword [edi + 0x2a8f0], ecx
jmp 0x10150335
cmp ecx, 4
jne 0x10150335
xor esi, esi
nop dword [eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x6c]
push 2
mov word [esp + 0x70], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10150e75
movzx ecx, byte [esp + 0x6d]
movzx eax, byte [esp + 0x6c]
jmp 0x10150e7f
movzx ecx, byte [esp + 0x6c]
movzx eax, byte [esp + 0x6d]
shl ecx, 8
or ecx, eax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x20f38], ecx
cmp esi, 4
jb 0x10150e40
jmp 0x10150331
cmp esi, 0x201
jne 0x10150f16
cmp dword [esp + 8], 4
jne 0x10150335
xor esi, esi
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x70]
push 2
mov word [esp + 0x74], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10150ee6
movzx ecx, byte [esp + 0x71]
movzx eax, byte [esp + 0x70]
jmp 0x10150ef0
movzx ecx, byte [esp + 0x70]
movzx eax, byte [esp + 0x71]
shl ecx, 8
or ecx, eax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jb 0x10150eb1
jmp 0x10150331
cmp esi, 0x220
jne 0x10150f47
cmp dword [esp + 0x10], 7
jne 0x10150335
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [edi + 0x54888], eax
mov dword [edi + 0x5488c], edx
jmp 0x10150335
cmp esi, 0x401
jne 0x10151017
cmp dword [esp + 0x10], 4
jne 0x10150335
cmp dword [esp + 8], 4
jne 0x10150335
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xa0]
push 4
mov dword [esp + 0xa4], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10150fcc
movzx ecx, byte [esp + 0xa3]
movzx eax, byte [esp + 0xa2]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa1]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa0]
jmp 0x10150ff6
movzx ecx, byte [esp + 0xa0]
movzx eax, byte [esp + 0xa1]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa2]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa3]
shl ecx, 8
or ecx, eax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x20f38], ecx
cmp esi, 4
jb 0x10150f70
jmp 0x10150331
cmp esi, 0x3d
jne 0x101510f3
lea eax, [edi + 0xc4]
push str.NIKON
push eax
call fcn.1026df90
add esp, 8
test eax, eax
je 0x10150335
cmp dword [esp + 8], 4
jne 0x10150335
xor esi, esi
nop dword [eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x74]
push 2
mov word [esp + 0x78], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10151085
movzx ecx, byte [esp + 0x75]
movzx eax, byte [esp + 0x74]
jmp 0x1015108f
movzx ecx, byte [esp + 0x74]
movzx eax, byte [esp + 0x75]
shl ecx, 8
or ecx, eax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x20f38], ecx
cmp esi, 4
jb 0x10151050
mov ecx, dword [edi + 0x20f38]
mov edx, dword [edi + 0x20f44]
cmp edx, ecx
mov eax, dword [edi + 0x20f3c]
cmova edx, ecx
cmp edx, eax
cmova edx, eax
mov eax, dword [edi + 0x20f40]
cmp edx, eax
cmova edx, eax
sub ecx, edx
mov dword [edi + 0x20f38], ecx
sub dword [edi + 0x20f3c], edx
sub dword [edi + 0x20f40], edx
sub dword [edi + 0x20f44], edx
add dword [edi + 0x24f50], edx
jmp 0x10150331
cmp esi, 0xe01
jne 0x10151303
mov ecx, dword [edi + 0x54800]
mov eax, 0x4949
push 1
mov word [edi + 0x54860], ax
xor esi, esi
push esi
mov eax, dword [ecx]
push 0x16
call dword [eax + 0xc]
cmp dword [esp + 8], 0x2c
mov dword [esp + 0x18], 0x16
jbe 0x10150331
mov eax, esi
inc esi
mov dword [esp + 0xc0], esi
cmp eax, 0x400
jg 0x10152209
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xa4]
push 4
mov dword [esp + 0xa8], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov esi, 0x4949
cmp word [edi + 0x54860], si
jne 0x101511a1
movzx ecx, byte [esp + 0xa7]
movzx eax, byte [esp + 0xa6]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa5]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa4]
jmp 0x101511cb
movzx ecx, byte [esp + 0xa4]
movzx eax, byte [esp + 0xa5]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa6]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa7]
shl ecx, 8
or ecx, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0xe0], ecx
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0xe
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xa8]
push 4
mov dword [esp + 0xac], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [edi + 0x54860], si
jne 0x10151243
movzx ecx, byte [esp + 0xab]
movzx eax, byte [esp + 0xaa]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa9]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xa8]
jmp 0x1015126d
movzx ecx, byte [esp + 0xa8]
movzx eax, byte [esp + 0xa9]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xaa]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0xab]
shl ecx, 8
or ecx, eax
cmp dword [esp + 0xc], 0x76a43207
lea esi, [ecx - 4]
mov ecx, dword [edi + 0x54800]
jne 0x101512d0
push 2
mov word [esp + 0x7c], 0xffff
lea edx, [esp + 0x7c]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101512bc
movzx ecx, byte [esp + 0x79]
movzx eax, byte [esp + 0x78]
shl ecx, 8
or ecx, eax
mov dword [edi + 0x30], ecx
jmp 0x101512da
movzx ecx, byte [esp + 0x78]
movzx eax, byte [esp + 0x79]
shl ecx, 8
or ecx, eax
mov dword [edi + 0x30], ecx
jmp 0x101512da
mov eax, dword [ecx]
push 1
push 0
push esi
call dword [eax + 0xc]
mov ecx, dword [esp + 0x18]
add ecx, 0x16
add ecx, esi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x16]
mov ecx, dword [esp + 8]
cmp eax, ecx
jb 0x10151130
mov esi, dword [esp + 0xc]
jmp 0x10151307
mov ecx, dword [esp + 8]
cmp esi, 0xe80
jne 0x10151431
cmp ecx, 0x100
jne 0x10150335
cmp dword [esp + 0x10], 7
jne 0x10150335
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x30
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x7c]
push 2
mov word [esp + 0x80], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10151373
movzx ecx, byte [esp + 0x7d]
movzx eax, byte [esp + 0x7c]
jmp 0x1015137d
movzx ecx, byte [esp + 0x7c]
movzx eax, byte [esp + 0x7d]
shl ecx, 8
lea edx, [esp + 0x80]
or ecx, eax
mov word [esp + 0x80], 0xffff
imul eax, ecx, 0x1fc
push 2
push 1
push edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7da0]
mulsd xmm0, qword [0x102c7cd0]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ff4], xmm0
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101513ed
movzx ecx, byte [esp + 0x81]
movzx eax, byte [esp + 0x80]
jmp 0x101513fd
movzx ecx, byte [esp + 0x80]
movzx eax, byte [esp + 0x81]
shl ecx, 8
or ecx, eax
imul eax, ecx, 0x17e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7db0]
mulsd xmm0, qword [0x102c7cd0]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ffc], xmm0
jmp 0x10150335
cmp esi, 0xf00
jne 0x10151492
cmp dword [esp + 0x10], 7
jne 0x10150335
cmp ecx, 0x266
jne 0x10151465
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0xb0
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x101517f8
cmp ecx, 0x2de
je 0x10151479
cmp ecx, 0x5de
jne 0x1015209b
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x94
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x101517f8
cmp esi, 0x1011
jne 0x101514a4
cmp ecx, 9
je 0x101514b0
jmp 0x10150335
cmp esi, 0x20400200
jne 0x10151648
mov ecx, str.v757_71
lea eax, [edi + 0x144]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101514e0
test dl, dl
je 0x101514dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101514e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101514c0
xor eax, eax
jmp 0x101514e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10151648
lea eax, [edi + 0x25044]
mov dword [esp + 0x30], 3
mov dword [esp + 0x20], eax
nop
cmp word [edi + 0xbe8], 0
jne 0x101515a3
lea esi, [eax - 0x30]
mov dword [esp + 0x18], 3
nop dword [eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x84]
push 2
mov word [esp + 0x88], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10151561
movzx ecx, byte [esp + 0x85]
movzx eax, byte [esp + 0x84]
jmp 0x10151571
movzx ecx, byte [esp + 0x84]
movzx eax, byte [esp + 0x85]
shl cx, 8
or cx, ax
movzx eax, cx
cwde
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7cf8]
cvtpd2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub dword [esp + 0x18], 1
jne 0x10151520
jmp 0x1015162e
mov esi, eax
mov dword [esp + 0x18], 3
nop dword [eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x88]
push 2
mov word [esp + 0x8c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101515f1
movzx ecx, byte [esp + 0x89]
movzx eax, byte [esp + 0x88]
jmp 0x10151601
movzx ecx, byte [esp + 0x88]
movzx eax, byte [esp + 0x89]
shl cx, 8
or cx, ax
movzx eax, cx
cwde
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7cf8]
cvtpd2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub dword [esp + 0x18], 1
jne 0x101515b0
mov eax, dword [esp + 0x20]
add eax, 0x10
sub dword [esp + 0x30], 1
mov dword [esp + 0x20], eax
jne 0x10151500
mov esi, dword [esp + 0xc]
cmp esi, 0x1012
je 0x1015165c
cmp esi, 0x20400600
jne 0x101516dd
cmp dword [esp + 8], 4
jne 0x101516dd
xor esi, esi
nop word [eax + eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x8c]
push 2
mov word [esp + 0x90], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101516b1
movzx ecx, byte [esp + 0x8d]
movzx eax, byte [esp + 0x8c]
jmp 0x101516c1
movzx ecx, byte [esp + 0x8c]
movzx eax, byte [esp + 0x8d]
shl ecx, 8
or ecx, eax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x20f38], ecx
cmp esi, 4
jb 0x10151670
mov esi, dword [esp + 0xc]
cmp esi, 0x1017
je 0x101516ed
cmp esi, 0x20400100
jne 0x1015175f
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x90]
push 2
mov word [esp + 0x94], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x1015172e
movzx ecx, byte [esp + 0x91]
movzx eax, byte [esp + 0x90]
jmp 0x1015173e
movzx ecx, byte [esp + 0x90]
movzx eax, byte [esp + 0x91]
shl ecx, 8
or ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7cf8]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ff4], xmm0
cmp esi, 0x1018
je 0x1015176f
cmp esi, 0x20400100
jne 0x101517e1
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x94]
push 2
mov word [esp + 0x98], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101517b0
movzx ecx, byte [esp + 0x95]
movzx eax, byte [esp + 0x94]
jmp 0x101517c0
movzx ecx, byte [esp + 0x94]
movzx eax, byte [esp + 0x95]
shl ecx, 8
or ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7cf8]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ffc], xmm0
cmp esi, 0x2011
jne 0x10150335
cmp dword [esp + 8], 2
jne 0x10150335
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x3c]
mov eax, 0x4d4d
mov word [esp + 0x3c], 0xffff
push 2
mov word [edi + 0x54860], ax
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10151839
movzx ecx, byte [esp + 0x3d]
movzx eax, byte [esp + 0x3c]
jmp 0x10151843
movzx ecx, byte [esp + 0x3c]
movzx eax, byte [esp + 0x3d]
shl ecx, 8
lea edx, [esp + 0x40]
or ecx, eax
mov word [esp + 0x40], 0xffff
push 2
push 1
push edx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7cf8]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ff4], xmm0
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10151899
movzx ecx, byte [esp + 0x41]
movzx eax, byte [esp + 0x40]
jmp 0x101518a3
movzx ecx, byte [esp + 0x40]
movzx eax, byte [esp + 0x41]
shl ecx, 8
or ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7cf8]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ffc], xmm0
jmp 0x10150335
movzx esi, byte [esp + 0xac]
movzx eax, byte [esp + 0xad]
shl esi, 8
or esi, eax
movzx eax, byte [esp + 0xae]
shl esi, 8
or esi, eax
movzx eax, byte [esp + 0xaf]
mov ecx, dword [edi + 0x54800]
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x28]
push 0
mov edx, dword [ecx]
add eax, esi
push 0
push eax
call dword [edx + 0xc]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp esi, 0x2010
jne 0x101519aa
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push esi
push dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
mov edi, edx
mov ecx, esi
mov dword [esp + 0xc8], eax
call fcn.1014cad0
mov ecx, dword [esi + 0x54800]
push 0
push edi
push dword [esp + 0xc8]
mov esi, dword [ecx]
call dword [esi + 0xc]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
push 7
lea eax, [edi + 0xc4]
push 0x102b6300
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x10151f76
cmp esi, 0xa020
jne 0x10151c95
xor esi, esi
mov ecx, edi
call fcn.10135240
mov dword [esp + esi*4 + 0x1d4], eax
inc esi
cmp esi, 0xb
jb 0x10151991
jmp 0x10152097
cmp esi, 0x2020
je 0x101519d2
cmp esi, 0x3000
je 0x101519d2
cmp esi, 0x2030
je 0x101519d2
cmp esi, 0x2031
je 0x101519d2
cmp esi, 0x2050
jne 0x10151a35
cmp eax, 7
je 0x101519dc
cmp eax, 0xd
jne 0x10151a35
push 7
lea eax, [edi + 0xc4]
push 0x102b62d4
push eax
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x10151a35
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push esi
push dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
mov edi, edx
mov ecx, esi
mov dword [esp + 0xc8], eax
call fcn.1014cad0
mov ecx, dword [esi + 0x54800]
push 0
push edi
push dword [esp + 0xc8]
mov esi, dword [ecx]
call dword [esi + 0xc]
mov esi, dword [esp + 0xc]
cmp esi, 0x2020
jne 0x10151a8c
mov eax, dword [esp + 0x10]
cmp eax, 7
je 0x10151a4f
cmp eax, 0xd
jne 0x10151c8c
push 5
lea eax, [esp + 0xb8]
push str.OLYMP
push eax
call fcn.1027dd20
mov edi, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x10151965
push 0x102
push 0x101
push dword [esp + 0x30]
mov ecx, edi
call fcn.1014c920
jmp 0x10151965
cmp esi, 0x2040
jne 0x10151aa9
mov edi, dword [esp + 0x14]
mov ecx, edi
push esi
push dword [esp + 0x2c]
call fcn.1014cad0
jmp 0x10151965
cmp esi, 0xb028
jne 0x10151af0
mov eax, dword [esp + 0x14]
mov ecx, eax
push 0
mov esi, dword [eax + 0x54800]
mov edi, dword [esi]
call fcn.10135240
add eax, dword [esp + 0x2c]
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
mov edi, dword [esp + 0x14]
mov ecx, edi
push 0x89
push 0x88
push dword [esp + 0x30]
call fcn.1014c920
jmp 0x10151961
cmp esi, 0x4001
jne 0x10151c8c
mov ecx, dword [esp + 8]
lea eax, [ecx - 0x1f5]
cmp eax, 0x184aa
ja 0x10151c8c
cmp ecx, 0x246
jne 0x10151b20
mov edx, 0x32
jmp 0x10151b42
cmp ecx, 0x28d
jne 0x10151b2f
mov edx, 0x44
jmp 0x10151b42
cmp ecx, 0x1400
mov edx, 0x7e
mov eax, 0x8e
cmove edx, eax
mov edi, dword [esp + 0x14]
push 1
push 0
push edx
mov ecx, dword [edi + 0x54800]
mov dword [esp + 0x40], edx
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x44]
push 2
mov word [esp + 0x48], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10151b95
movzx ecx, byte [esp + 0x45]
movzx eax, byte [esp + 0x44]
jmp 0x10151b9f
movzx ecx, byte [esp + 0x44]
movzx eax, byte [esp + 0x45]
shl ecx, 8
or ecx, eax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jb 0x10151b60
mov eax, dword [esp + 0x34]
add eax, 0x12
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 8]
ja 0x10151961
nop word [eax + eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0xd8]
push 2
mov word [esp + 0xdc], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
xor esi, esi
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x48]
push 2
mov word [esp + 0x4c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10151c38
movzx ecx, byte [esp + 0x49]
movzx eax, byte [esp + 0x48]
jmp 0x10151c42
movzx ecx, byte [esp + 0x48]
movzx eax, byte [esp + 0x49]
shl cx, 8
or cx, ax
mov eax, esi
shr eax, 1
xor eax, esi
movzx ecx, cx
inc esi
mov word [edi + eax*2 + 0x54862], cx
cmp esi, 4
jb 0x10151c03
mov eax, 0x492
cmp word [edi + 0x54864], ax
je 0x10151961
mov eax, dword [esp + 0x34]
add eax, 0xa
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 8]
jbe 0x10151be0
jmp 0x10151961
mov edi, dword [esp + 0x14]
jmp 0x10151965
cmp esi, 0xa021
jne 0x10151ce0
xor esi, esi
nop
mov ecx, edi
call fcn.10135240
sub eax, dword [esp + esi*4 + 0x1d4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jb 0x10151ca0
jmp 0x10152097
cmp esi, 0xa022
jne 0x10151d3c
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.10135240
sub eax, dword [esp + esi*4 + 0x1e4]
mov ecx, esi
shr ecx, 1
xor ecx, esi
inc esi
mov dword [edi + ecx*4 + 0x298b0], eax
cmp esi, 4
jb 0x10151cf0
mov ecx, dword [edi + 0x298b4]
mov eax, ecx
sar eax, 1
cmp dword [edi + 0x298b0], eax
jge 0x10152097
sar ecx, 4
sar dword [edi + 0x298bc], 4
mov dword [edi + 0x298b4], ecx
jmp 0x10152097
cmp esi, 0xa023
jne 0x10151dbf
mov ecx, edi
call fcn.10135240
sub eax, dword [esp + 0x1f4]
mov ecx, edi
mov dword [edi + 0x294a0], eax
call fcn.10135240
sub eax, dword [esp + 0x1f8]
mov ecx, edi
mov dword [edi + 0x294a4], eax
call fcn.10135240
sub eax, dword [esp + 0x1fc]
mov ecx, edi
mov dword [edi + 0x294ac], eax
call fcn.10135240
sub eax, dword [esp + 0x1d4]
mov dword [edi + 0x294a8], eax
mov ecx, dword [edi + 0x294a4]
mov eax, ecx
sar eax, 1
cmp dword [edi + 0x294a0], eax
jge 0x10152097
sar ecx, 4
mov dword [edi + 0x294a4], ecx
sar dword [edi + 0x294ac], 4
jmp 0x10152097
cmp esi, 0xa024
jne 0x10151e1c
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.10135240
sub eax, dword [esp + esi*4 + 0x1d8]
mov ecx, esi
shr ecx, 1
xor ecx, esi
inc esi
mov dword [edi + ecx*4 + 0x294e0], eax
cmp esi, 4
jb 0x10151dd0
mov ecx, dword [edi + 0x294e4]
mov eax, ecx
sar eax, 1
cmp dword [edi + 0x294e0], eax
jge 0x10152097
sar ecx, 4
mov dword [edi + 0x294e4], ecx
sar dword [edi + 0x294ec], 4
jmp 0x10152097
cmp esi, 0xa030
jne 0x10151eaf
cmp dword [esp + 8], 9
jne 0x10152097
lea eax, [edi + 0x25044]
mov dword [esp + 0x24], 3
lea esi, [esp + 0x1d4]
mov dword [esp + 0x30], eax
nop dword [eax]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 3
nop dword [eax]
mov ecx, edi
call fcn.10135240
add ax, word [esi]
add esi, 4
cwde
movd xmm0, eax
mov eax, dword [esp + 0x18]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7cf8]
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
add eax, 4
sub dword [esp + 0x20], 1
mov dword [esp + 0x18], eax
jne 0x10151e60
mov eax, dword [esp + 0x30]
add eax, 0x10
sub dword [esp + 0x24], 1
mov dword [esp + 0x30], eax
jne 0x10151e50
jmp 0x10152097
cmp esi, 0xa031
jne 0x10151f3f
cmp dword [esp + 8], 9
jne 0x10152097
lea eax, [edi + 0x25014]
mov dword [esp + 0x24], 3
lea esi, [esp + 0x1d4]
mov dword [esp + 0x30], eax
nop
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 3
nop dword [eax]
mov ecx, edi
call fcn.10135240
add ax, word [esi]
add esi, 4
cwde
movd xmm0, eax
mov eax, dword [esp + 0x18]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7cf8]
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
add eax, 4
sub dword [esp + 0x20], 1
mov dword [esp + 0x18], eax
jne 0x10151ef0
mov eax, dword [esp + 0x30]
add eax, 0x10
sub dword [esp + 0x24], 1
mov dword [esp + 0x30], eax
jne 0x10151ee0
jmp 0x10152097
cmp esi, 0xa028
jne 0x10152024
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.10135240
sub eax, dword [esp + esi*4 + 0x1d4]
mov ecx, esi
shr ecx, 1
xor ecx, esi
inc esi
mov dword [edi + ecx*4 + 0x20f38], eax
cmp esi, 4
jb 0x10151f50
jmp 0x10152097
cmp esi, 0xa021
jne 0x10151fb9
xor esi, esi
mov ecx, edi
call fcn.10135240
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jb 0x10151f80
jmp 0x10152097
cmp esi, 0xa028
jne 0x10152024
xor eax, eax
mov dword [esp + 0x18], eax
mov esi, eax
mov ecx, edi
shr esi, 1
xor esi, eax
movss xmm0, dword [edi + esi*4 + 0x24ff4]
movss dword [esp + 0xc0], xmm0
call fcn.10135240
movss xmm1, dword [esp + 0xc0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [edi + esi*4 + 0x24ff4], xmm1
cmp eax, 4
jb 0x10151fc7
jmp 0x10152097
cmp esi, 0x4021
jne 0x10152097
mov ecx, edi
call fcn.10135240
mov dword [edi + 0x724], eax
test eax, eax
je 0x10152097
mov ecx, edi
call fcn.10135240
mov dword [edi + 0x728], eax
test eax, eax
je 0x10152097
cmp dword [esp + 8], 4
jb 0x1015206f
mov ecx, edi
call fcn.10135240
mov ecx, edi
mov dword [edi + 0x72c], eax
call fcn.10135240
mov dword [edi + 0x730], eax
mov dword [edi + 0x24ff4], 0x44800000
mov dword [edi + 0x24ff8], 0x44800000
mov dword [edi + 0x24ffc], 0x44800000
mov dword [edi + 0x25000], 0x44800000
mov edi, dword [esp + 0x14]
mov ecx, dword [edi + 0x54800]
push 0
push 0
push dword [esp + 0xec]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [esp + 0x158]
test eax, eax
je 0x101521f3
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x110]
jmp 0x1014d260
mov ecx, dword [edi + 0x54800]
mov eax, 0x4d4d
mov word [edi + 0x54860], ax
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
xor ecx, ecx
cmp ecx, dword [edi + 0x54884]
jg 0x101521f3
jl 0x10152105
cmp eax, dword [edi + 0x54880]
jae 0x101521f3
cmp eax, 0x4000
jae 0x101521f3
mov eax, dword [esp + 0x24]
mov ecx, edi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
call fcn.1013c960
cmp dword [esp + 0x24], 0x100
movzx eax, ax
mov dword [esp + 0xe4], eax
jne 0x101521c6
cmp eax, 0x100
jne 0x101521c6
lea eax, [esi - 0x101]
cmp eax, 0x17e
ja 0x101521c6
mov eax, dword [esp + 0x34]
add eax, 0xfffffeff
cmp eax, 0x17e
ja 0x101521c6
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
mov dword [edi + 0x24ff8], 0x43800000
mov dword [edi + 0x25000], 0x43800000
addsd xmm0, qword [esi*8 + 0x103f9b80]
mov esi, dword [esp + 0x34]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ff4], xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24ffc], xmm0
jmp 0x101521ca
mov esi, dword [esp + 0x34]
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
xor ecx, ecx
cmp ecx, dword [edi + 0x54884]
jl 0x10152105
jg 0x101521f3
cmp eax, dword [edi + 0x54880]
jb 0x10152105
mov eax, dword [esp + 0x160]
mov word [edi + 0x54860], ax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
push 0x10404af8
lea eax, [esp + 0x114]
inc eax
adc byte [ebp + 0x1142484], cl
add byte [eax], al
mov dword [esp + 0x114], 5
push eax
call fcn.1026eb3b
nop
fstpnce st(6), st(0)
adc al, 16
loopne 0x1015220c
adc al, 0x10
out 0xde, eax
adc al, 16
or bh, bl
adc al, 16
add byte [ecx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add dword [ecx], eax
add cl, byte [edi]
pop ds
add ah, cl
jecxz 0x101522bb
adc ch, dh
jecxz 0x101522bf
adc byte [edx], al
not byte [eax + edx]
or ah, ah
adc al, 16
push ecx
in al, 20
adc byte [edx - 0x47efeb1c], bl
in al, 0x14
adc byte [eax + 0x21014e4], bh
adc byte [edx], al
not byte [eax + edx]
out dx, eax
in al, 20
adc byte [esi - 0x14], cl
adc al, 0x10
push 0x721014ec
in al, dx
adc al, 0x10
add byte [eax], al
add byte [edx], al
add byte [eax], al
add al, byte [ecx]
int3