Function at 0x1011d770
Capabilities:
Check for software breakpoints
Check http status code
Encode data using base64
Encode data using xor
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, 0x240
push esi
xor eax, eax
mov dword [esp + 0x6c], 0
push edi
mov edi, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x9c], eax
xor esi, esi
mov dword [esp + 0x54], eax
mov ecx, 0x1029f578
mov dword [esp + 0x28], eax
movzx eax, word [edi + 0x492d8]
mov dword [esp + 0x98], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
lea eax, [edi + 0xb8]
mov dword [esp + 0x34], edi
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x78], esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011d800
test dl, dl
je 0x1011d7fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011d800
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011d7e0
xor eax, eax
jmp 0x1011d805
sbb eax, eax
or eax, 1
test eax, eax
je 0x101217b3
mov ecx, dword [edi + 0x49280]
lea edx, [esp + 0x44]
push 0xa
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
push 3
lea eax, [esp + 0x48]
push 0x1029f580
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x101217b3
push 3
lea eax, [esp + 0x48]
push 0x1029f584
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x101217b3
push 4
lea eax, [esp + 0x48]
push str.IIII
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x101217b3
push 4
lea eax, [esp + 0x48]
push str.MMMM
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x101217b3
push 2
lea eax, [esp + 0x48]
push 0x1029f598
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x101216a0
push 3
lea eax, [esp + 0x48]
push 0x1029f59c
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x101216a0
mov ecx, str.Nikon
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011d8f2
test dl, dl
je 0x1011d8ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011d8f2
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011d8d2
xor eax, eax
jmp 0x1011d8f7
sbb eax, eax
or eax, 1
mov esi, 0x4949
test eax, eax
jne 0x1011d94f
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.101120a0
mov ecx, edi
mov word [edi + 0x492d8], ax
call fcn.101120a0
cmp ax, 0x2a
jne 0x101217a5
mov ecx, edi
call fcn.1010f760
mov ecx, dword [edi + 0x49280]
add eax, 0xfffffff8
push 1
push 0
push eax
mov edx, dword [ecx]
call dword [edx + 0xc]
jmp 0x1011dc64
mov ecx, str.OLYMPUS
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011d978
test dl, dl
je 0x1011d974
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011d978
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011d958
xor eax, eax
jmp 0x1011d97d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011dc23
mov ecx, 0x1029f484
lea eax, [esp + 0x44]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011d9b0
test dl, dl
je 0x1011d9ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011d9b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011d990
xor eax, eax
jmp 0x1011d9b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011dc23
push 4
lea eax, [esp + 0x48]
push str.SONY
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x1011dc02
mov ecx, str.Panasonic
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011da02
test dl, dl
je 0x1011d9fe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011da02
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011d9e2
xor eax, eax
jmp 0x1011da07
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011dc02
push 8
lea eax, [esp + 0x48]
push str.FUJIFILM
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011da3c
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
sub eax, 0xa
jmp 0x1011dc05
mov ecx, str.OLYMP
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011da65
test dl, dl
je 0x1011da61
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011da65
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011da45
xor eax, eax
jmp 0x1011da6a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011dbe8
mov ecx, str.LEICA
lea eax, [esp + 0x44]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011daa0
test dl, dl
je 0x1011da9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011daa0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011da80
xor eax, eax
jmp 0x1011daa5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011dbe8
mov ecx, str.Ricoh
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011dad6
test dl, dl
je 0x1011dad2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011dad6
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011dab6
xor eax, eax
jmp 0x1011dadb
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011dbe8
mov ecx, str.EPSON
lea eax, [esp + 0x44]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011db10
test dl, dl
je 0x1011db0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011db10
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011daf0
xor eax, eax
jmp 0x1011db15
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011dbe8
mov ecx, 0x1029f4b8
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011db46
test dl, dl
je 0x1011db42
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011db46
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011db26
xor eax, eax
jmp 0x1011db4b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011dbce
mov ecx, 0x1029f4bc
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011db78
test dl, dl
je 0x1011db74
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011db78
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011db58
xor eax, eax
jmp 0x1011db7d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011dbce
mov ecx, dword [edi + 0x49280]
push 1
push 0xffffffffffffffff
push 0xfffffffffffffff6
mov eax, dword [ecx]
call dword [eax + 0xc]
push 7
push str.SAMSUNG
lea esi, [edi + 0xb8]
push esi
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011dbc2
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [esp + 0x24], eax
jmp 0x1011dc6a
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
jmp 0x1011dc6a
mov ecx, dword [edi + 0x49280]
push 1
push 0xffffffffffffffff
push 0xfffffffffffffffc
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
jmp 0x1011dc64
mov ecx, dword [edi + 0x49280]
push 1
push 0xffffffffffffffff
push 0xfffffffffffffffe
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
jmp 0x1011dc64
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x49280]
push 1
mov word [edi + 0x492d8], si
push 0
mov eax, dword [ecx]
push 2
call dword [eax + 0xc]
jmp 0x1011dc64
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [edi + 0x49280]
sub eax, 0xa
push 1
mov dword [esp + 0x28], eax
push 0xffffffffffffffff
mov eax, dword [ecx]
push 0xfffffffffffffffe
call dword [eax + 0xc]
mov ecx, edi
call fcn.101120a0
cmp byte [esp + 0x44], 0x4f
mov word [edi + 0x492d8], ax
jne 0x1011dc64
mov ecx, edi
call fcn.101120a0
lea esi, [edi + 0xb8]
push 5
push str.LEICA
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x1011dde2
push 2
lea esi, [edi + 0xf8]
push 0x1029f5a0
push esi
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x1011ddcc
push 8
push str.Leica_M8
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011ddcc
push 7
push str.LEICA_X
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011ddcc
push 0x11
push str.LEICA_M__Typ_240_
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x1011dcef
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x1011dde6
push 2
push 0x1029f5cc
push esi
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x1011dd79
push 8
push str.Leica_M9
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011dd79
push 0xb
push str.M_Monochrom
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011dd79
push 0xb
push str.Leica_M_Monochrom
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011dd79
push 7
push str.LEICA_T
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x1011dde2
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
lea esi, [eax - 8]
mov eax, 0x14
mov dword [esp + 0x24], esi
mov word [edi + 0x3aa], ax
jmp 0x1011dde6
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x1011dda7
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [edi + 0x49280]
push 1
push 0
lea esi, [eax - 0xa]
mov eax, dword [ecx]
push 8
mov dword [esp + 0x30], esi
call dword [eax + 0xc]
jmp 0x1011dde6
cmp eax, 0x3400
jne 0x1011dde2
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0xa
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [esp + 0x24]
add esi, 0xa
mov dword [esp + 0x24], esi
jmp 0x1011dde6
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
lea esi, [eax - 8]
mov dword [esp + 0x24], esi
jmp 0x1011dde6
mov esi, dword [esp + 0x24]
mov ecx, edi
call fcn.101120a0
movzx eax, ax
cmp eax, 0x3e8
ja 0x101217b3
movzx ecx, word [edi + 0x492d8]
mov dword [esp + 0x94], ecx
test eax, eax
je 0x101217a5
shl dword [ebp + 0xc], 0x10
mov dword [esp + 0x88], 0x8c
dec eax
mov word [edi + 0x492d8], cx
mov dword [esp + 0x90], eax
mov ecx, edi
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.1011d640
mov esi, dword [esp + 0x20]
lea eax, [edi + 0xb8]
or esi, dword [ebp + 0xc]
mov ecx, str.Canon
mov dword [esp + 0x20], esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011de84
test dl, dl
je 0x1011de80
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011de84
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011de64
xor eax, eax
jmp 0x1011de89
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1011e13d
cmp esi, 1
jne 0x1011df6d
mov ecx, dword [edi + 0x49280]
push esi
push 0
push 0x2c
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov ecx, edi
cdq
mov dword [edi + 0x318], eax
mov dword [edi + 0x31c], edx
call fcn.101120a0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x414], xmm0
call fcn.101120a0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
call fcn.101120a0
mov word [edi + 0x5e0], ax
cmp ax, si
je 0x1011df36
movss xmm0, dword [edi + 0x414]
cwde
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [edi + 0x414], xmm0
movss xmm0, dword [edi + 0x410]
divss xmm0, xmm1
movss dword [edi + 0x410], xmm0
mov ecx, edi
call fcn.101120a0
movzx eax, ax
push eax
call fcn.10129a90
add esp, 4
mov ecx, edi
fstp dword [edi + 0x428]
call fcn.101120a0
movzx eax, ax
push eax
call fcn.10129a90
fstp dword [edi + 0x42c]
add esp, 4
jmp 0x1012059a
cmp esi, 2
jne 0x1011dfcc
mov ecx, edi
call fcn.101120a0
mov ecx, edi
mov word [edi + 0x3ec], ax
call fcn.101120a0
movzx eax, ax
movd xmm1, eax
movzx eax, word [edi + 0x5e0]
cvtdq2ps xmm1, xmm1
movss dword [edi + 0x430], xmm1
cmp ax, 1
je 0x1011fb3e
test ax, ax
je 0x1011fb3e
cwde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [edi + 0x430], xmm1
jmp 0x1011fb3e
cmp esi, 4
jne 0x1011e000
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x2a
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101120a0
movzx eax, ax
push eax
call fcn.10129a90
fstp dword [edi + 0x434]
add esp, 4
jmp 0x1011fc5b
cmp esi, 0xd
jne 0x1011e030
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.1012fdf0
mov ecx, dword [edi + 0x49280]
push 1
push esi
push eax
mov edx, dword [ecx]
mov dword [esp + 0x88], eax
call dword [edx + 8]
mov dword [esp + 0x78], esi
jmp 0x1011ff4a
cmp esi, 0x95
jne case.0x1011e838.537920004
cmp byte [edi + 0x320], 0
lea esi, [edi + 0x320]
jne 0x1012059a
mov ecx, dword [edi + 0x49280]
push 1
push 2
push esi
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, 3
mov word [edi + 0x3a2], ax
mov al, byte [esi]
push 1
cmp al, 0x41
jge 0x1011e080
push 0x3e
lea eax, [edi + 0x322]
jmp 0x1012058e
mov byte [edi + 0x3ee], al
lea edx, [esp + 0x78]
mov al, byte [edi + 0x321]
mov byte [edi + 0x3ef], al
mov ecx, dword [edi + 0x49280]
push 2
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ax, word [esp + 0x74]
cmp al, 0x2d
jne 0x1011e11b
cmp ah, 0x53
je 0x1011e0bc
cmp ah, 0x45
je 0x1011e0bc
cmp ah, 0x4d
jne 0x1011e11b
mov byte [edi + 0x3f0], 0x2d
mov byte [edi + 0x322], 0x2d
mov byte [edi + 0x3f1], ah
mov byte [edi + 0x323], ah
mov byte [edi + 0x324], 0x20
cmp ah, 0x53
jne 0x1011e0fb
push 1
mov dword [edi + 0x3a0], 0x40001
lea eax, [edi + 0x325]
push 0x3a
jmp 0x1012058e
cmp ah, 0x4d
jne 0x1011e12e
mov eax, 5
push 1
mov word [edi + 0x3a2], ax
lea eax, [edi + 0x325]
push 0x3a
jmp 0x1012058e
mov byte [edi + 0x322], 0x20
mov byte [edi + 0x323], al
mov byte [edi + 0x324], ah
push 1
push 0x3a
lea eax, [edi + 0x325]
jmp 0x1012058e
push 4
lea eax, [edi + 0xb8]
push str.FUJI
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011e1c9
lea eax, [esi - 0x1404]
cmp eax, 3
ja case.0x1011e838.537920004
jmp dword [eax*4 + 0x101217bc]
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10112160
fstp dword [edi + 0x410]
jmp case.0x1011e838.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10112160
fstp dword [edi + 0x414]
jmp case.0x1011e838.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10112160
fstp dword [edi + 0x418]
jmp case.0x1011e838.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10112160
fstp dword [edi + 0x41c]
jmp case.0x1011e838.537920004
push 5
lea eax, [edi + 0xb8]
push str.LEICA
push eax
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x1011e3a3
cmp esi, 0x303
jne 0x1011e20b
cmp dword [esp + 0xc], 4
je 0x1012059a
push 1
push dword [esp + 0x18]
lea eax, [edi + 0x320]
jmp 0x1012058e
cmp esi, 0x3405
je 0x1011e2c7
cmp esi, 0x310
je 0x1011e2c7
cmp esi, 0x34003405
je 0x1011e2c7
cmp esi, 0x313
je 0x1011e23f
cmp esi, 0x34003406
jne 0x1011e2aa
movss xmm0, dword [edi + 0x434]
movss xmm1, dword [0x102ab9f8]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x103d8770]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1011e2aa
mov eax, dword [esp + 0xc]
cmp eax, 0xa
je 0x1011e270
cmp eax, 5
jne 0x1011e2aa
push eax
mov ecx, edi
call fcn.10112160
fstp dword [esp + 0x28]
movss xmm0, dword [esp + 0x28]
movss dword [edi + 0x434], xmm0
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x102abaf8]
jbe case.0x1011e838.537920004
mov dword [edi + 0x434], 0
jmp case.0x1011e838.537920004
cmp esi, 0x3400
jne case.0x1011e838.537920004
push esi
push dword [esp + 0x28]
mov ecx, edi
call fcn.1011d770
jmp 0x1012059a
mov ecx, edi
call fcn.1010f760
mov dword [edi + 0x318], eax
mov ecx, eax
and eax, 0xfffffffc
mov dword [edi + 0x31c], 0
mov edx, dword [edi + 0x31c]
and ecx, 3
shld edx, eax, 6
shl eax, 6
or eax, ecx
mov dword [edi + 0x31c], edx
mov dword [edi + 0x318], eax
and eax, edx
cmp eax, 0xffffffff
je case.0x1011e838.537920004
cmp byte [edi + 0xf8], 0x4d
lea esi, [edi + 0xf8]
je 0x1011e375
push 7
push str.LEICA_M
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011e375
cmp byte [esi], 0x53
je 0x1011e34c
push 7
push str.LEICA_S
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x1011fb35
mov esi, dword [esp + 0x20]
mov eax, 0x10
mov word [edi + 0x3aa], ax
cmp byte [edi + 0x320], 0
je case.0x1011e838.537920004
mov word [edi + 0x3a2], ax
jmp case.0x1011e838.537920004
mov eax, dword [edi + 0x318]
mov ecx, 0xe
or eax, dword [edi + 0x31c]
mov esi, dword [esp + 0x20]
mov word [edi + 0x3aa], cx
je case.0x1011e838.537920004
mov word [edi + 0x3a2], cx
jmp case.0x1011e838.537920004
push 5
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011e67f
cmp esi, 0x82
jne 0x1011e3da
push 1
push dword [esp + 0x18]
lea eax, [edi + 0x560]
jmp 0x1012058e
cmp esi, 0x83
jne 0x1011e479
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov byte [edi + 0x307], al
test al, 1
jne 0x1011e406
mov word [edi + 0x3ee], 0x4641
mov al, byte [edi + 0x307]
test al, 2
je 0x1011e427
and al, 4
mov byte [edi + 0x3ff], 0x20
neg al
sbb al, al
and al, 3
add al, 0x44
mov byte [edi + 0x3fe], al
test byte [edi + 0x307], 8
je 0x1011e439
mov word [edi + 0x400], 0x5256
mov cl, byte [edi + 0x307]
test cl, 0x10
je 0x1011e450
mov eax, 7
mov word [edi + 0x3a2], ax
test cl, 0x20
je 0x1011e46b
mov eax, dword [str.FT_1]
mov dword [edi + 0x4d8], eax
mov al, byte [0x1029f4dc]
mov byte [edi + 0x4dc], al
and cl, 0xdf
mov byte [edi + 0x307], cl
jmp 0x1012059a
cmp esi, 0x84
jne 0x1011e4c2
mov esi, dword [esp + 0xc]
mov ecx, edi
push esi
call fcn.10112160
fstp dword [edi + 0x410]
push esi
mov ecx, edi
call fcn.10112160
fstp dword [edi + 0x414]
push esi
mov ecx, edi
call fcn.10112160
fstp dword [edi + 0x418]
push esi
mov ecx, edi
call fcn.10112160
fstp dword [edi + 0x41c]
jmp 0x1012059a
cmp esi, 0x8b
jne 0x1011e54c
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x49280]
mov byte [esp + 0x3f], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
mov ecx, dword [edi + 0x49280]
mov byte [esp + 0x52], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
test al, al
je 0x1012059a
movzx ecx, al
xor edx, edx
mov eax, 0xc
div ecx
movzx ecx, byte [esp + 0x52]
movzx edx, al
movzx eax, byte [esp + 0x3f]
imul edx, ecx
movzx ecx, dl
imul ecx, eax
movzx eax, cl
mov byte [edi + 0x305], cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x102abb50]
movss dword [edi + 0x440], xmm0
jmp 0x1012059a
cmp esi, 0x98
jne case.0x1011e838.537920004
mov esi, 4
nop dword [eax]
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esp + 0x64]
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
lea edx, [eax + edx*2]
mov dword [esp + 0x64], edx
sub esi, 1
jne 0x1011e560
cmp edx, 0x190
ja 0x1011e5f7
je 0x1011e5ec
lea eax, [edx - 0x64]
cmp eax, 0x68
ja case.0x1011e5a0.102
movzx eax, byte [eax + 0x101217dc]
jmp dword [eax*4 + 0x101217cc]
mov eax, 9
mov ecx, 6
mov dword [esp + 0x38], eax
mov word [edi + 0x3a2], cx
jmp 0x1011e62f
mov eax, 0xf
mov ecx, 6
mov dword [esp + 0x38], eax
mov word [edi + 0x3a2], cx
jmp 0x1011e62f
mov eax, 0x10
mov ecx, 6
mov dword [esp + 0x38], eax
mov word [edi + 0x3a2], cx
jmp 0x1011e62f
mov eax, 0x1cb
mov dword [esp + 0x38], eax
jmp 0x1011e62f
mov eax, edx
sub eax, 0x191
je 0x1011e620
sub eax, 1
je 0x1011e615
sub eax, 1
jne case.0x1011e5a0.102
mov eax, 0x36f
mov dword [esp + 0x38], eax
jmp 0x1011e62f
mov eax, 0x1fd
mov dword [esp + 0x38], eax
jmp 0x1011e62f
mov eax, 0x24e
mov dword [esp + 0x38], eax
jmp 0x1011e62f
mov eax, dword [esp + 0x38]
push eax
mov ecx, edi
call fcn.1012fdf0
mov ecx, dword [edi + 0x49280]
mov esi, eax
push 1
push dword [esp + 0x3c]
mov dword [esp + 0x18], esi
mov edx, dword [ecx]
push esi
call dword [edx + 8]
cmp dword [esp + 0x64], 0xc9
jae 0x1012059a
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1012059a
push eax
push esi
mov ecx, edi
call fcn.10110ea0
mov dword [esp + 0x38], 0
jmp 0x1012059a
push 7
lea eax, [edi + 0xb8]
push str.OLYMPUS
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011ea09
cmp esi, 0x20100201
ja 0x1011e817
je 0x1011e763
cmp esi, 0x207
je 0x1011e6cb
cmp esi, 0x1002
je 0x1011e71e
cmp esi, 0x20100100
jne case.0x1011e838.537920004
mov ecx, dword [edi + 0x49280]
lea edx, [esp + 0x80]
push 1
push dword [esp + 0x18]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov ah, byte [esp + 0x81]
movzx ecx, byte [esp + 0x80]
test ah, ah
je 0x1011e711
lea edx, [esp + 0x81]
nop
inc edx
movzx eax, ah
shl ecx, 8
or ecx, eax
mov al, byte [edx]
mov ah, al
test al, al
jne 0x1011e700
push ecx
mov ecx, edi
call fcn.101111e0
jmp case.0x1011e838.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10112160
fstp qword [esp + 0x28]
movsd xmm0, qword [esp + 0x28]
sub esp, 8
mulsd xmm0, qword [0x103d7c40]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
fstp dword [edi + 0x434]
add esp, 8
jmp 0x1012059a
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [esp + 0x34]
cdq
mov edi, eax
mov eax, edx
shld eax, edi, 8
mov ecx, dword [ecx + 0x49280]
mov dword [esp + 0x28], eax
shl edi, 8
mov esi, dword [ecx]
mov esi, dword [esi + 0x18]
call esi
cdq
mov esi, eax
mov eax, edx
or eax, dword [esp + 0x28]
or esi, edi
mov edi, dword [esp + 0x34]
shld eax, esi, 8
mov dword [esp + 0x28], eax
mov ecx, dword [edi + 0x49280]
shl esi, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cdq
or eax, esi
mov dword [edi + 0x3a0], 0x80008
or edx, dword [esp + 0x28]
mov dword [edi + 0x318], eax
mov ecx, edx
mov dword [edi + 0x31c], edx
jne 0x1011e7eb
cmp eax, 0x20000
jb 0x1011e7fa
test ecx, ecx
jne 0x1011e7fa
cmp eax, 0x4ffff
jbe 0x1012059a
and eax, 0x10
or eax, 0
je 0x1012059a
mov eax, 9
mov word [edi + 0x3a2], ax
jmp 0x1012059a
cmp esi, 0x20100301
ja 0x1011e9d3
je 0x1011e98c
lea eax, [esi - 0x20100203]
cmp eax, 7
ja case.0x1011e838.537920004
jmp dword [eax*4 + 0x10121848]
mov ecx, dword [edi + 0x49280]
lea eax, [edi + 0x320]
push 1
push dword [esp + 0x18]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
jmp case.0x1011e838.537920004
mov ecx, edi
call fcn.101120a0
movzx eax, ax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102ab9f0]
movss dword [esp], xmm0
movsd xmm0, qword [0x103d7d60]
call fcn.10209710
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
call fcn.10129bc0
fstp dword [edi + 0x418]
add esp, 8
jmp case.0x1011e838.537920004
mov ecx, edi
call fcn.101120a0
movzx eax, ax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102ab9f0]
movss dword [esp], xmm0
movsd xmm0, qword [0x103d7d60]
call fcn.10209710
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
call fcn.10129bc0
fstp dword [edi + 0x41c]
add esp, 8
jmp case.0x1011e838.537920004
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
jmp case.0x1011e838.537920004
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x102abb74]
movss dword [edi + 0x414], xmm0
jbe case.0x1011e838.537920004
mov eax, dword [edi + 0x410]
mov dword [edi + 0x414], eax
jmp case.0x1011e838.537920004
mov ecx, edi
call fcn.101120a0
movzx eax, ax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102ab9f0]
movss dword [esp], xmm0
movsd xmm0, qword [0x103d7d60]
call fcn.10209710
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
call fcn.10129bc0
fstp dword [edi + 0x438]
add esp, 8
jmp case.0x1011e838.537920004
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x49280]
shl eax, 8
cdq
mov dword [edi + 0x448], eax
mov dword [edi + 0x44c], edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cdq
or dword [edi + 0x448], eax
or dword [edi + 0x44c], edx
jmp 0x1012059a
cmp esi, 0x20100303
je 0x1011e9f8
cmp esi, 0x20100403
jne case.0x1011e838.537920004
push 1
push dword [esp + 0x18]
lea eax, [edi + 0x560]
jmp 0x1012058e
push 1
push dword [esp + 0x18]
lea eax, [edi + 0x450]
jmp 0x1012058e
push 6
lea eax, [edi + 0xb8]
push str.PENTAX
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011eafa
push 2
lea eax, [edi + 0xf8]
push 0x1029f604
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011eafa
cmp esi, 0x1001
jne 0x1011ea93
cmp dword [esp + 0xc], 3
jne 0x1012059a
mov esi, 0x63
mov dword [edi + 0x3a8], 0x630001
mov eax, 1
mov word [edi + 0x3a2], si
mov dword [edi + 0x318], 0xffffffff
mov dword [edi + 0x31c], 0xffffffff
mov word [edi + 0x3ec], ax
jmp 0x1012059a
cmp esi, 0x1017
jne 0x1011ead7
mov ecx, edi
call fcn.101120a0
cmp ax, 2
jne 0x1012059a
movups xmm0, xmmword [str.Wide_Angle_Adapter]
movups xmmword [edi + 0x560], xmm0
mov ax, word [0x1029f618]
mov word [edi + 0x570], ax
mov al, byte [0x1029f61a]
mov byte [edi + 0x572], al
jmp 0x1012059a
cmp esi, 0x1500
jne case.0x1011e838.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10112160
fstp dword [edi + 0x430]
jmp 0x1012059a
push 5
lea eax, [edi + 0xb8]
push str.RICOH
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011ec4d
push 6
lea eax, [edi + 0xf8]
push str.PENTAX
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x1011ec4d
cmp esi, 0x1017
je 0x1011ea9b
cmp esi, 0x1500
je 0x1011eae3
cmp esi, 0x2001
jne case.0x1011e838.537920004
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x14
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101120a0
mov ecx, edi
call fcn.101120a0
cmp ax, 0x2c
je 0x1011eb9e
nop dword [eax + eax]
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0xa
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101120a0
cmp ax, 0x2c
jne 0x1011eb80
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 6
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [edi + 0x49280]
mov ecx, dword [esp + 0x34]
push 0
mov edi, dword [esi]
call fcn.1010f760
add eax, 0x22
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
mov edi, dword [esp + 0x34]
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
sub eax, 0x30
cdq
mov dword [edi + 0x318], eax
mov dword [edi + 0x31c], edx
test edx, edx
ja case.0x1011ec06.4
jb 0x1011ebf9
cmp eax, 8
ja case.0x1011ec06.4
dec eax
cmp eax, 7
ja case.0x1011ec06.4
movzx eax, byte [eax + 0x10121874]
jmp dword [eax*4 + 0x10121868]
mov eax, 0x63
mov word [edi + 0x3aa], ax
mov eax, 0x12
mov word [edi + 0x3a2], ax
jmp 0x1012059a
mov dword [edi + 0x3a8], 0xe0001
mov dword [edi + 0x318], 0xffffffff
mov dword [edi + 0x31c], 0xffffffff
jmp 0x1012059a
push 6
lea eax, [edi + 0xb8]
push str.PENTAX
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x1011f5ea
push 6
lea esi, [edi + 0xf8]
push str.PENTAX
push esi
call fcn.10201aa0
add esp, 0xc
test eax, eax
je 0x1011f5e6
push 7
lea eax, [edi + 0xb8]
push str.SAMSUNG
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011ecc3
cmp dword [edi + 0x17c], eax
je 0x1011ecc3
push 2
push 0x1029f604
push esi
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011f5e6
push 7
lea eax, [edi + 0xb8]
push str.SAMSUNG
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011ee15
cmp dword [esp + 0x20], 2
jne 0x1011ed44
mov ecx, edi
call fcn.1010f760
cmp eax, 0x2000
jne 0x1011ed07
mov eax, 0x11
mov word [edi + 0x3aa], ax
jmp 0x1011fb3e
push 7
push str.NX_mini
push esi
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011ed2c
mov eax, 0x13
mov word [edi + 0x3aa], ax
jmp 0x1011fb3e
mov eax, 0x63
mov word [edi + 0x3aa], ax
mov word [edi + 0x3a2], ax
jmp 0x1011fb3e
mov esi, dword [esp + 0x20]
cmp esi, 3
jne 0x1011ed65
mov ecx, edi
call fcn.1010f760
mov dword [edi + 0x3a4], eax
mov dword [edi + 0x492cc], eax
jmp 0x1012059a
cmp esi, 0xa003
jne 0x1011ed9d
mov ecx, edi
call fcn.101120a0
movzx eax, ax
cdq
mov dword [edi + 0x318], eax
or eax, edx
mov dword [edi + 0x31c], edx
je 0x1012059a
mov eax, 0x11
mov word [edi + 0x3a2], ax
jmp 0x1012059a
cmp esi, 0xa019
jne 0x1011edbc
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10112160
fstp dword [edi + 0x434]
jmp 0x1012059a
cmp esi, 0xa01a
jne case.0x1011e838.537920004
mov ecx, edi
call fcn.1010f760
movss xmm1, dword [0x103d7f48]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103d8710]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
comiss xmm1, xmm0
movss dword [edi + 0x5e4], xmm0
jbe 0x1012059a
mulss xmm0, xmm1
movss dword [edi + 0x5e4], xmm0
jmp 0x1012059a
push 4
lea eax, [edi + 0xb8]
push str.SONY
push eax
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011eec5
push 6
lea eax, [edi + 0xb8]
push str.Konica
push eax
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011eec5
push 7
lea eax, [edi + 0xb8]
push str.Minolta
push eax
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011eec5
push 0xa
lea eax, [edi + 0xb8]
push str.Hasselblad
push eax
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x1011fb35
push 7
push str.Stellar
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011eec5
push 5
push str.Lunar
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x1011eec5
push 2
push 0x1029f518
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x1011fb35
mov eax, dword [esp + 0x20]
cmp eax, 0xb001
jne 0x1011ef45
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov ecx, edi
push eax
mov dword [edi + 0x492cc], eax
call fcn.101116e0
cmp word [esp + 0x58], 0
je 0x1011ef10
push dword [edi + 0x492cc]
mov esi, dword [esp + 0x58]
mov ecx, edi
push esi
call fcn.10111d30
push esi
mov ecx, edi
call fcn.1012fed0
xor eax, eax
mov dword [esp + 0x58], eax
cmp word [esp + 0x60], 0
je 0x1012059a
cmp word [edi + 0x3aa], 2
mov esi, dword [esp + 0x5c]
jne 0x1011ef32
push esi
mov ecx, edi
call fcn.10112010
push esi
mov ecx, edi
call fcn.1012fed0
xor eax, eax
mov dword [esp + 0x60], eax
jmp 0x1012059a
cmp eax, 0x10
jne 0x1011f224
push 9
push 0x1029f51c
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x10120008
push 6
push str.NEX_5C
push esi
call fcn.1020f800
add esp, 0xc
test eax, eax
je 0x10120008
push 4
lea eax, [edi + 0xb8]
push str.SONY
push eax
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x10120008
mov esi, dword [esp + 0x14]
cmp esi, 0x170
je 0x1011efcc
cmp esi, 0x1566
je 0x1011efcc
cmp esi, 0x1582
je 0x1011efcc
cmp esi, 0x17e6
je 0x1011efcc
cmp esi, 0x3c00
jne 0x10120008
push esi
mov ecx, edi
call fcn.1012fdf0
mov ecx, dword [edi + 0x49280]
push 1
mov dword [esp + 0x14], eax
push esi
mov eax, dword [ecx]
push dword [esp + 0x18]
call dword [eax + 8]
mov eax, dword [esp + 0x10]
cmp dword [eax], 0xffffffff
jne 0x1011effd
cmp dword [eax + 4], 0xffffffff
je 0x1011f213
cmp dword [eax], 0
jne 0x1011f00c
cmp dword [eax + 4], 0
je 0x1011f213
cmp esi, 0x170
je 0x1011f11b
cmp esi, 0x1566
je 0x1011f11b
mov esi, dword [esp + 0x10]
mov dl, byte [esi + 1]
mov cl, byte [esi + 2]
mov al, dl
or al, cl
mov dword [esp + 0x28], ecx
je 0x1011f064
push edx
call fcn.10129ac0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.10129ac0
movzx eax, ax
add esp, 8
add edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
mov dl, byte [esi + 3]
mov cl, byte [esi + 4]
mov al, dl
or al, cl
mov dword [esp + 0x28], ecx
je 0x1011f0a0
push edx
call fcn.10129ac0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.10129ac0
movzx eax, ax
add esp, 8
add edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x414], xmm0
mov al, byte [esi + 5]
test al, al
je 0x1011f0d0
push eax
call fcn.10129ac0
movss xmm1, dword [0x103d7f48]
add esp, 4
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + 0x418], xmm0
jmp 0x1011f0d8
movss xmm1, dword [0x103d7f48]
mov al, byte [esi + 6]
test al, al
je 0x1011f0fe
push eax
call fcn.10129ac0
movzx eax, ax
add esp, 4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + 0x41c], xmm0
movzx eax, byte [esi + 7]
mov ecx, edi
push eax
movzx eax, byte [esi]
push eax
call fcn.10111b50
push esi
mov ecx, edi
call fcn.1012fed0
jmp 0x10120008
mov esi, dword [esp + 0x10]
mov dl, byte [esi]
mov cl, byte [esi + 3]
mov al, dl
or al, cl
mov dword [esp + 0x28], ecx
je 0x1011f15a
push edx
call fcn.10129ac0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.10129ac0
movzx eax, ax
add esp, 8
add edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
mov al, byte [esi + 5]
mov cl, byte [esi + 2]
mov dword [esp + 0x28], eax
or al, cl
je 0x1011f194
push ecx
call fcn.10129ac0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.10129ac0
movzx eax, ax
add esp, 8
add edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x414], xmm0
mov al, byte [esi + 4]
test al, al
je 0x1011f1c4
push eax
call fcn.10129ac0
movss xmm1, dword [0x103d7f48]
add esp, 4
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + 0x418], xmm0
jmp 0x1011f1cc
movss xmm1, dword [0x103d7f48]
cmp byte [esi + 4], 0
je 0x1011f1f5
movzx eax, byte [esi + 7]
push eax
call fcn.10129ac0
movzx eax, ax
add esp, 4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + 0x41c], xmm0
movzx eax, byte [esi + 6]
mov ecx, edi
push eax
movzx eax, byte [esi + 1]
push eax
call fcn.10111b50
push esi
mov ecx, edi
call fcn.1012fed0
jmp 0x10120008
mov esi, dword [esp + 0x10]
mov ecx, edi
push esi
call fcn.1012fed0
jmp 0x10120008
mov esi, dword [esp + 0x20]
cmp esi, 0x105
jne 0x1011f24c
mov ecx, edi
call fcn.101120a0
movzx eax, ax
cdq
mov dword [edi + 0x448], eax
mov dword [edi + 0x44c], edx
jmp 0x1012059a
cmp esi, 0x114
jne 0x1011f378
push dword [esp + 0x14]
mov ecx, edi
call fcn.1012fdf0
mov ecx, dword [edi + 0x49280]
push 1
push dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
push dword [esp + 0x18]
call dword [eax + 8]
mov eax, dword [esp + 0x14]
cmp eax, 0x16c
ja 0x1011f2fe
je 0x1011f295
sub eax, 0x118
je 0x1011f295
sub eax, 0x34
jne 0x1011f2ed
mov eax, dword [esp + 0x10]
mov dl, byte [eax + 3]
mov cl, byte [eax + 2]
mov al, dl
or al, cl
je 0x1011f2ed
movzx ecx, cl
sub esp, 8
shl ecx, 8
movzx eax, dl
or ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x103d7a50]
subss xmm0, dword [0x103d7af4]
mulss xmm0, dword [0x103d7aa8]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
fstp dword [edi + 0x434]
add esp, 8
mov edx, dword [esp + 0x10]
push edx
mov ecx, edi
call fcn.1012fed0
jmp 0x1011fded
cmp eax, 0x600
je 0x1011f30c
cmp eax, 0x800
jne 0x1011f2ed
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x3f7]
push eax
movzx eax, byte [ecx + 0x3f8]
mov ecx, edi
push eax
call fcn.101119d0
cmp word [edi + 0x3a2], 3
je 0x1011f2ed
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0x99]
sub eax, 0x10
je 0x1011f35f
sub eax, 1
jne 0x1011f2f1
mov eax, 2
mov ecx, edi
push edx
mov word [edi + 0x3a2], ax
call fcn.1012fed0
jmp 0x1011fded
mov eax, 1
mov ecx, edi
push edx
mov word [edi + 0x3a2], ax
call fcn.1012fed0
jmp 0x1011fded
cmp esi, 0x9050
jne 0x1011f3d7
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.1012fdf0
mov ecx, dword [edi + 0x49280]
push 1
push esi
push eax
mov edx, dword [ecx]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 1
call dword [edx + 8]
mov eax, dword [edi + 0x3a4]
test eax, eax
je 0x1012059a
mov esi, dword [esp + 0x54]
mov ecx, edi
push eax
push esi
call fcn.10111d30
push esi
mov ecx, edi
call fcn.1012fed0
mov dword [esp + 0x58], 0
jmp 0x1012059a
cmp esi, 0x940c
jne 0x1011f42d
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.1012fdf0
mov ecx, dword [edi + 0x49280]
mov dword [esp + 0x5c], eax
mov eax, 1
push eax
push esi
mov edx, dword [ecx]
push dword [esp + 0x64]
mov dword [esp + 0x6c], eax
call dword [edx + 8]
cmp dword [edi + 0x3a4], 0
je 0x1012059a
cmp word [edi + 0x3aa], 2
jne 0x1012059a
mov esi, dword [esp + 0x5c]
jmp 0x1011ef2a
cmp esi, 0xb027
je 0x1011f441
cmp esi, 0x10c
jne 0x1011f4c4
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
cmp eax, 0xffffffff
jne 0x1011f4c4
mov ecx, edi
call fcn.1010f760
mov dword [edi + 0x31c], 0
mov ecx, dword [edi + 0x31c]
mov dword [edi + 0x318], eax
test ecx, ecx
jne 0x1011f47c
cmp eax, 0xef00
jbe 0x1011f4a7
test ecx, ecx
ja 0x1011f4a7
jb 0x1011f487
cmp eax, 0xffff
jae 0x1011f4a7
add eax, 0xffff1100
mov dword [edi + 0x318], eax
mov eax, 3
adc ecx, 0xffffffff
mov word [edi + 0x3a2], ax
mov dword [edi + 0x31c], ecx
cmp esi, 0x10c
jne case.0x1011e838.537920004
mov eax, 1
mov word [edi + 0x3aa], ax
jmp 0x1012059a
cmp esi, 0xb02a
jne case.0x1011e838.537920004
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.1012fdf0
mov ecx, dword [edi + 0x49280]
mov dword [esp + 0x10], eax
push 1
push esi
mov eax, dword [ecx]
mov esi, dword [esp + 0x18]
push esi
call dword [eax + 8]
mov dl, byte [esi + 1]
mov cl, byte [esi + 2]
mov al, dl
or al, cl
mov dword [esp + 0x28], ecx
je 0x1011f52f
push edx
call fcn.10129ac0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.10129ac0
movzx eax, ax
add esp, 8
add edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
mov dl, byte [esi + 3]
mov cl, byte [esi + 4]
mov al, dl
or al, cl
mov dword [esp + 0x28], ecx
je 0x1011f56b
push edx
call fcn.10129ac0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.10129ac0
movzx eax, ax
add esp, 8
add edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x414], xmm0
mov al, byte [esi + 5]
test al, al
je 0x1011f59b
push eax
call fcn.10129ac0
movss xmm1, dword [0x103d7f48]
add esp, 4
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + 0x418], xmm0
jmp 0x1011f5a3
movss xmm1, dword [0x103d7f48]
mov al, byte [esi + 6]
test al, al
je 0x1011f5c9
push eax
call fcn.10129ac0
movzx eax, ax
add esp, 4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + 0x41c], xmm0
movzx eax, byte [esi + 7]
mov ecx, edi
push eax
movzx eax, byte [esi]
push eax
call fcn.10111b50
push esi
mov ecx, edi
call fcn.1012fed0
jmp 0x1012059a
mov esi, dword [esp + 0x20]
cmp esi, 5
jne 0x1011f609
mov ecx, edi
call fcn.1010f760
push eax
mov ecx, edi
mov dword [edi + 0x492cc], eax
call fcn.101112d0
jmp 0x1012059a
cmp esi, 0x13
jne 0x1011f634
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x103d7f48]
movss dword [edi + 0x434], xmm0
jmp 0x1012059a
cmp esi, 0x1d
jne 0x1011f66d
mov ecx, edi
call fcn.1010f760
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103d8710]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x103d7f88]
movss dword [edi + 0x430], xmm0
jmp 0x1012059a
cmp esi, 0x3f
jne 0x1011f6a5
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x49280]
mov esi, eax
shl esi, 8
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
or eax, esi
cdq
mov dword [edi + 0x318], eax
mov dword [edi + 0x31c], edx
jmp 0x1012059a
cmp esi, 0x207
jne 0x1011fa8b
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.1012fdf0
mov ecx, dword [edi + 0x49280]
push 1
mov dword [esp + 0x14], eax
push esi
mov eax, dword [ecx]
push dword [esp + 0x18]
call dword [eax + 8]
mov eax, dword [edi + 0x3a4]
mov ecx, dword [esp + 0x10]
cmp eax, 0x12b9c
jb 0x1011f832
je 0x1011f832
cmp eax, 0x12b9d
je 0x1011f832
cmp eax, 0x12ba2
jne 0x1011f713
mov al, byte [ecx + 0x14]
test al, al
je 0x1011f832
cmp al, 0xff
je 0x1011f832
lea eax, [esi - 0x50]
cmp eax, 0x30
ja case.0x1011f726.81
movzx eax, byte [eax + 0x1012188c]
jmp dword [eax*4 + 0x1012187c]
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 0xd
cmp eax, 0xffffffff
jne 0x1011f873
mov al, byte [ecx + 1]
and al, 0xf
movzx eax, al
cdq
mov esi, edx
mov ecx, eax
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 3]
cdq
add ecx, eax
mov eax, dword [esp + 0x10]
adc esi, edx
movzx eax, byte [eax + 4]
jmp 0x1011f85b
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 0xc
cmp eax, 0xffffffff
jne 0x1011f873
mov al, byte [ecx + 1]
and al, 0xf
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 3]
cdq
add ecx, eax
mov eax, dword [esp + 0x10]
adc esi, edx
movzx eax, byte [eax + 4]
jmp 0x1011f85b
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 0xf
cmp eax, 0xffffffff
jne 0x1011f873
mov al, byte [ecx + 1]
and al, 0xf
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 4]
cdq
add ecx, eax
mov eax, dword [esp + 0x10]
adc esi, edx
movzx eax, byte [eax + 5]
jmp 0x1011f85b
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 4
cmp eax, 0xffffffff
jne 0x1011f873
mov al, byte [ecx]
and al, 0xf
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 2]
cdq
add ecx, eax
mov eax, dword [esp + 0x10]
adc esi, edx
movzx eax, byte [eax + 3]
jmp 0x1011f85b
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 3
cmp eax, 0xffffffff
jne 0x1011f873
movzx eax, byte [ecx]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 1]
shld esi, ecx, 8
cdq
shl ecx, 8
add ecx, eax
mov dword [edi + 0x318], ecx
adc esi, edx
mov dword [edi + 0x31c], esi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
movzx esi, ax
mov dword [esp + 0x40], esi
mov al, byte [esi + ecx + 9]
test al, al
je 0x1011f8fe
movss xmm0, dword [edi + 0x430]
movss xmm1, dword [0x103d7a3c]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x103d8770]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1011f8fe
movzx esi, al
sub esp, 8
mov eax, esi
and eax, 3
sub eax, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40800000
call fcn.10129bc0
mov ecx, dword [esp + 0x18]
add esp, 8
shr esi, 2
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x40]
add eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x28], xmm0
fmul dword [esp + 0x28]
fstp dword [edi + 0x430]
mov al, byte [esi + ecx + 0xa]
test al, 0xf0
je 0x1011f93d
shr al, 4
sub esp, 8
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x103d7a6c]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
mov ecx, dword [esp + 0x18]
add esp, 8
fstp dword [edi + 0x438]
mov al, byte [esi + ecx + 0xa]
test al, 0xf
je 0x1011f97f
movzx eax, al
sub esp, 8
and eax, 0xf
add eax, 0xa
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x103d7a6c]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
mov ecx, dword [esp + 0x18]
add esp, 8
fstp dword [edi + 0x43c]
mov eax, dword [edi + 0x3a4]
cmp eax, 0x12e6c
je 0x1011fa15
cmp eax, 0x12e76
je 0x1011fa7b
cmp eax, 0x12f70
je 0x1011fa15
movzx eax, byte [esi + ecx]
and eax, 6
jmp dword [eax*4 + 0x101218c0]
cmp eax, 0x12e76
je 0x1011fa7b
mov al, byte [esi + ecx + 0xf]
cmp al, 1
jbe 0x1011fa7b
movss xmm0, dword [edi + 0x438]
movss xmm1, dword [0x102aba08]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x103d8770]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1011fa7b
movzx eax, al
sub esp, 8
and eax, 0x7f
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x103d7a14]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
fstp dword [edi + 0x438]
add esp, 8
push dword [esp + 0x10]
mov ecx, edi
call fcn.1012fed0
jmp 0x1012059a
cmp esi, 0x239
jne case.0x1011e838.537920004
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 2
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [edi + 0x49280]
lea esi, [edi + 0x320]
push 1
push 0x1e
push esi
mov eax, dword [ecx]
call dword [eax + 8]
lea edi, [esi - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x1011fac1
mov ax, word [0x1029f4e8]
lea edx, [esp + 0x9c]
mov ecx, dword [esp + 0x34]
mov word [edi], ax
push 1
push 0x14
mov ecx, dword [ecx + 0x49280]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
lea edx, [esp + 0x9c]
mov ecx, edx
mov dword [esp + 0x28], ecx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x1011fb00
sub edx, ecx
dec esi
nop word [eax + eax]
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x1011fb10
mov edi, esi
mov ecx, edx
mov esi, dword [esp + 0x28]
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 + 0x34]
jmp 0x1012059a
mov esi, dword [esp + 0x20]
cmp esi, 2
jne 0x1011fb97
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.101f8950
add esp, 8
test eax, eax
je 0x1012059a
movss xmm0, dword [edi + 0x24a58]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1012059a
mov ecx, edi
call fcn.101120a0
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x24a58], xmm0
jmp 0x1012059a
cmp esi, 0x25
jne 0x1011fc52
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.101f8950
add esp, 8
test eax, eax
je 0x1012059a
movss xmm0, dword [edi + 0x24a58]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1011fbe1
ucomiss xmm0, dword [0x103d7fbc]
lahf
test ah, 0x44
jp 0x1012059a
mov ecx, dword [edi + 0x49280]
lea edx, [esp + 0x53]
push 1
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
movzx eax, byte [esp + 0x53]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x102abae0]
subsd xmm0, qword [0x103d7dd0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
fmul qword [0x103d7e88]
add esp, 8
fstp qword [esp + 0x28]
cvttsd2si eax, qword [esp + 0x28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x24a58], xmm0
jmp 0x1012059a
cmp esi, 4
jne 0x1011fde5
mov eax, dword [esp + 0x14]
add eax, 0xffffffe5
cmp eax, 7
ja 0x1011fded
mov ecx, edi
call fcn.1010f760
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
cmp ecx, 0x7fff
je 0x1011fcf1
movss xmm0, dword [edi + 0x24a58]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1011fca5
ucomiss xmm0, dword [0x103d7fbc]
lahf
test ah, 0x44
jp 0x1011fcf1
movd xmm0, ecx
sub esp, 8
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103d8710]
mulsd xmm0, qword [0x103d7b48]
subsd xmm0, qword [0x103d7dc0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
fmul dword [0x102abb68]
add esp, 8
fstp dword [edi + 0x24a58]
mov ecx, edi
call fcn.101120a0
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
cmp ecx, 0x7fff
je 0x1011fd5c
movss xmm0, dword [edi + 0x24a60]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1011fd5c
movd xmm0, ecx
sub esp, 8
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103d8710]
mulsd xmm0, qword [0x102aba28]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
fstp dword [edi + 0x24a60]
add esp, 8
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
cmp ecx, 0xffff
je 0x1011fdb7
movss xmm0, dword [edi + 0x24a5c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1011fdb7
movsx eax, cx
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102abb90]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.10129bc0
fstp dword [edi + 0x24a5c]
add esp, 8
mov ecx, edi
call fcn.101120a0
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov ecx, edi
mov dword [esp + 0x6c], eax
call fcn.101120a0
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov dword [edi + 0x24a70], eax
jmp 0x1011fded
cmp esi, 0x114
jne 0x1011fe59
push 6
lea eax, [edi + 0xb8]
push str.KONICA
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1011fe59
mov ecx, dword [edi + 0x49280]
cmp esi, 4
push 1
mov eax, 0xa0
cmove eax, dword [esp + 0x8c]
mov edx, dword [ecx]
push 0
push eax
call dword [edx + 0xc]
mov ecx, edi
call fcn.101120a0
movzx eax, ax
cmp eax, 0x48
je 0x1011fe52
cmp eax, 0x4c
je 0x1011fe49
cmp eax, 0x52
jne 0x1011fe59
mov dword [edi + 0x30], 5
jmp 0x1011fe59
mov dword [edi + 0x30], 6
jmp 0x1011fe59
mov dword [edi + 0x30], 0
cmp esi, 7
jne 0x1011fe8d
cmp dword [esp + 0xc], 2
jne 0x1012059a
cmp dword [esp + 0x14], 0x14
jbe 0x1012059a
mov ecx, dword [edi + 0x49280]
lea eax, [edi + 0x248e8]
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 0x1c]
jmp 0x1012059a
cmp esi, 8
jne 0x1011feaf
cmp dword [esp + 0xc], 4
jne 0x1012059a
mov ecx, edi
call fcn.1010f760
mov dword [edi + 0x24a70], eax
jmp 0x1012059a
cmp esi, 9
jne 0x1011fef8
mov ecx, str.Canon
lea eax, [edi + 0xb8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011fee0
test dl, dl
je 0x1011fedc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011fee0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011fec0
xor eax, eax
jmp 0x1011fee5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1012059a
lea eax, [edi + 0x24d24]
jmp 0x1012058a
cmp esi, 0xc
jne 0x1011ff41
cmp dword [esp + 0x14], 4
jne 0x1012059a
xor esi, esi
nop word [eax + eax]
push dword [esp + 0xc]
mov ecx, edi
call fcn.10112160
mov ecx, esi
lea eax, [esi + esi]
shr ecx, 1
inc esi
or ecx, eax
and ecx, 3
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [edi + ecx*4 + 0x2480c]
cmp esi, 3
jb 0x1011ff10
jmp 0x1012059a
cmp esi, 0xd
jne 0x10120003
cmp dword [esp + 0xc], 7
jne 0x1012059a
mov ecx, edi
call fcn.101120a0
mov ecx, 0xaaaa
cmp ax, cx
jne 0x1012059a
mov esi, 2
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x14]
cmp esi, eax
jae 0x1011ffa4
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [esp + 0x18]
inc esi
shl ecx, 8
or ecx, eax
mov eax, 0xbbbb
mov dword [esp + 0x18], ecx
cmp cx, ax
jne 0x1011ff73
mov eax, dword [esp + 0x14]
add esi, 4
add eax, 0xfffffffb
cmp esi, eax
jae 0x1012059a
mov ecx, edi
call fcn.1010f760
cmp eax, 0x101
jne 0x1011fff0
mov eax, dword [esp + 0x14]
mov esi, eax
test eax, eax
je 0x1011fff0
mov ecx, edi
call fcn.1010f760
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 3
jae 0x1011fff0
movsx eax, byte [eax + 0x1029f62c]
sub eax, 0x30
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x14]
add esi, 4
add eax, 0xfffffffb
cmp esi, eax
jb 0x1011ffb2
jmp 0x1012059a
cmp esi, 0x10
jne 0x10120049
cmp dword [esp + 0xc], 4
jne 0x1012059a
mov ecx, edi
call fcn.1010f760
push eax
mov ecx, edi
mov dword [edi + 0x492cc], eax
call fcn.101104e0
cmp dword [esp + 0x78], 0
je 0x1012059a
push dword [esp + 0x7c]
mov ecx, edi
push dword [edi + 0x492cc]
call fcn.10110600
jmp 0x1012059a
cmp esi, 0x20400805
jne 0x101200a9
cmp dword [esp + 0x14], 2
jne 0x1012059a
push 7
lea eax, [edi + 0xb8]
push 0x1029f630
push eax
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x1012059a
mov esi, dword [esp + 0xc]
mov ecx, edi
push esi
call fcn.10112160
call fcn.101f6c10
push esi
mov ecx, edi
mov dword [edi + 0x24a4c], eax
call fcn.10112160
call fcn.101f6c10
mov dword [edi + 0x24a50], eax
jmp 0x1012059a
cmp esi, 0x4001
jne 0x101203d9
mov esi, dword [esp + 0x14]
cmp esi, 0x1f4
jbe 0x1012059a
lea eax, [edi + 0xb8]
push str.Canon
push eax
call fcn.1020f71e
add esp, 8
test eax, eax
jne 0x1012059a
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [esp + 0x18], eax
cmp esi, 0x4f9
ja 0x10120232
je case.0x10120260.1275
cmp esi, 0x2be
ja 0x10120149
je case.0x10120124.674
lea eax, [esi - 0x246]
cmp eax, 0x6e
ja case.0x10120260.1276
movzx eax, byte [eax + 0x101218ec]
jmp dword [eax*4 + 0x101218dc]
mov dword [edi + 0x24a38], 1
jmp case.0x10120260.1276
mov dword [edi + 0x24a38], 2
jmp case.0x10120260.1276
cmp esi, 0x4cb
ja 0x10120215
je case.0x10120124.674
cmp esi, 0x31c
jne case.0x10120260.1276
mov dword [edi + 0x24a38], 3
mov ecx, edi
mov dword [edi + 0x24a38], 4
call fcn.101120a0
mov ecx, dword [edi + 0x49280]
movzx eax, ax
mov dword [edi + 0x24a3c], eax
mov eax, dword [esp + 0x18]
mov esi, dword [ecx]
add eax, 0x1ce
push 0
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov dword [esp + 0x1c], 4
nop word [eax + eax]
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
add esi, ecx
sub dword [esp + 0x1c], 1
jne 0x101201b0
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [edi + 0x24a44], eax
mov eax, dword [edi + 0x24a3c]
cmp eax, 4
je 0x10120397
cmp eax, 5
je 0x10120397
cmp eax, 6
je 0x1012038c
cmp eax, 7
je 0x1012038c
cmp eax, 9
jne case.0x10120260.1276
mov eax, dword [esp + 0x18]
add eax, 0x5a8
jmp 0x101203a0
cmp esi, 0x4e2
jb case.0x10120260.1276
cmp esi, 0x4e3
jbe case.0x10120124.674
jmp case.0x10120260.1276
cmp esi, 0x53a
ja 0x101202d6
cmp esi, 0x539
jae case.0x10120124.674
lea eax, [esi - 0x4fb]
cmp eax, 0x29
ja case.0x10120260.1276
movzx eax, byte [eax + 0x10121968]
jmp dword [eax*4 + 0x1012195c]
mov ecx, edi
mov dword [edi + 0x24a38], 6
call fcn.101120a0
mov ecx, dword [edi + 0x49280]
movzx eax, ax
mov dword [edi + 0x24a3c], eax
mov eax, dword [esp + 0x18]
mov esi, dword [ecx]
add eax, 0x1f6
push 0
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov dword [esp + 0x1c], 4
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
add esi, ecx
sub dword [esp + 0x1c], 1
jne 0x101202a4
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [edi + 0x24a44], eax
mov eax, dword [esp + 0x18]
add eax, 0x3c8
jmp 0x101203a0
cmp esi, 0x542
je case.0x10120124.674
cmp esi, 0x5e2
je case.0x10120260.1312
cmp esi, 0x1400
jne case.0x10120260.1276
mov dword [edi + 0x24a38], 5
jmp case.0x10120260.1276
mov ecx, edi
mov dword [edi + 0x24a38], 7
call fcn.101120a0
mov ecx, dword [edi + 0x49280]
movzx eax, ax
mov dword [edi + 0x24a3c], eax
mov eax, dword [esp + 0x18]
mov esi, dword [ecx]
add eax, 0x228
push 0
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov dword [esp + 0x1c], 4
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
add esi, ecx
sub dword [esp + 0x1c], 1
jne 0x10120342
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [edi + 0x24a44], eax
mov eax, dword [edi + 0x24a3c]
cmp eax, 0xa
jne 0x1012037c
mov eax, dword [esp + 0x18]
add eax, 0x3fa
jmp 0x101203a0
cmp eax, 0xb
jne case.0x10120260.1276
mov eax, dword [esp + 0x18]
add eax, 0x5ba
jmp 0x101203a0
mov eax, dword [esp + 0x18]
add eax, 0x5a0
jmp 0x101203a0
mov eax, dword [esp + 0x18]
add eax, 0x572
mov ecx, dword [edi + 0x49280]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov dword [edi + 0x24a40], eax
mov ecx, dword [edi + 0x49280]
mov eax, dword [esp + 0x18]
push 0
cdq
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0xc]
jmp 0x1012059a
cmp esi, 0x11
jne 0x1012043b
cmp dword [edi + 0x178], 0
je 0x1012059a
push 5
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1012059a
mov esi, dword [edi + 0x49280]
mov ecx, dword [esp + 0x34]
push eax
mov edi, dword [esi]
call fcn.1010f760
add eax, dword [esp + 0x28]
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
push dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov ecx, edi
call fcn.10124580
jmp 0x1012059a
cmp esi, 0x14
jne 0x1012056f
cmp dword [esp + 0xc], 7
jne 0x1012059a
cmp dword [esp + 0x14], 0xa00
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
jne 0x10120472
push 1
push 0
push 0x4e0
call dword [eax + 0xc]
jmp 0x101211fc
push 0xa
push 1
lea edx, [esp + 0x4c]
push edx
call dword [eax + 8]
push 4
lea eax, [esp + 0x48]
push str.NRW
push eax
call fcn.10201aa0
add esp, 0xc
test eax, eax
jne 0x1012059a
mov ecx, str.0100
lea eax, [esp + 0x48]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101204c3
test dl, dl
je 0x101204bf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101204c3
add eax, 2
add ecx, 2
test dl, dl
jne 0x101204a3
xor esi, esi
jmp 0x101204c8
sbb esi, esi
or esi, 1
mov ecx, dword [edi + 0x49280]
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.1010f760
shl eax, 2
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103d8710]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x2480c], xmm0
call fcn.1010f760
mov ecx, edi
mov esi, eax
call fcn.1010f760
add esi, eax
mov ecx, edi
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x103d8710]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24810], xmm0
call fcn.1010f760
shl eax, 2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103d8710]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24814], xmm0
jmp 0x1012059a
cmp esi, 0x15
jne 0x1012059a
cmp dword [esp + 0xc], 2
jne 0x1012059a
cmp dword [edi + 0x178], 0
je 0x1012059a
lea eax, [edi + 0xf8]
push 1
push 0x40
mov ecx, dword [edi + 0x49280]
push eax
mov edx, dword [ecx]
call dword [edx + 8]
lea eax, [edi + 0xb8]
push str.PENTAX
push eax
call fcn.101f8950
mov esi, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x101205dc
cmp esi, 0x1b
jne 0x101205c9
mov esi, 0x1018
mov dword [esp + 0x20], esi
jmp 0x101211c7
cmp esi, 0x1c
jne 0x101205dc
mov esi, 0x1017
mov dword [esp + 0x20], esi
jmp 0x10121191
cmp esi, 0x1d
jne 0x10120652
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov esi, eax
test esi, esi
je 0x10121254
nop dword [eax + eax]
cmp esi, 0xffffffff
je 0x10121254
push esi
call fcn.101fc6c3
add esp, 4
test eax, eax
je 0x1012061b
add esi, 0xffffffd0
jmp 0x1012062c
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub esi, eax
mov ecx, dword [esp + 0x68]
lea eax, [ecx + ecx*4]
lea ecx, [esi + eax*2]
mov dword [esp + 0x68], ecx
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov esi, eax
test esi, esi
jne 0x10120600
jmp 0x10121254
cmp esi, 0x29
jne 0x101206d3
mov ecx, dword [esp + 0xc]
cmp ecx, 1
jne 0x10121258
mov eax, dword [esp + 0x6c]
cmp eax, 0x12
jae 0x1012067d
movsx edx, byte [eax + str.012347800000005896]
sub edx, 0x30
jmp 0x1012067f
xor edx, edx
mov ecx, dword [edi + 0x49280]
push 1
shl edx, 5
add edx, 8
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1010f760
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x103d8710]
mov eax, esi
xor eax, 2
shr eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x2480c], xmm0
cmp esi, 4
jb 0x10120697
jmp 0x10121254
cmp esi, 0x81
jne 0x10120740
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jne 0x1012074c
mov ecx, edi
call fcn.1010f760
mov ecx, dword [edi + 0x49280]
mov edx, eax
mov dword [edi + 0x492f8], eax
add edx, 0x29
mov dword [edi + 0x492fc], 0
mov eax, dword [edi + 0x492fc]
mov esi, dword [ecx]
adc eax, 0
push 0
push eax
push edx
call dword [esi + 0xc]
mov ecx, edi
call fcn.101120a0
add ax, ax
mov ecx, edi
mov word [edi + 0x10], ax
call fcn.101120a0
mov word [edi + 0x12], ax
mov dword [edi + 0x188], 0x61616161
jmp 0x10121254
cmp esi, 0x100
jne 0x10120756
mov ecx, dword [esp + 0xc]
cmp ecx, 7
je 0x1012076b
jmp 0x10121258
cmp esi, 0x280
jne 0x1012078e
mov ecx, dword [esp + 0xc]
cmp ecx, 1
jne 0x10121258
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [edi + 0x49298], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x4929c], edx
mov dword [edi + 0x24d70], eax
cmp esi, 0x88
jne 0x101207dd
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jne 0x10121258
mov ecx, edi
call fcn.1010f760
mov ecx, dword [esp + 0xc]
mov dword [edi + 0x49298], eax
or eax, 0
mov dword [edi + 0x4929c], 0
je 0x10121258
mov eax, dword [esp + 0x24]
cdq
add dword [edi + 0x49298], eax
adc dword [edi + 0x4929c], edx
jmp 0x10121258
cmp esi, 0x89
jne 0x10120804
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jne 0x10121258
mov ecx, edi
call fcn.1010f760
mov dword [edi + 0x24d70], eax
jmp 0x10121254
cmp esi, 0x8c
je 0x10120814
cmp esi, 0x96
jne 0x1012082d
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [edi + 0x49300], eax
mov dword [edi + 0x49304], edx
cmp esi, 0x97
jne 0x10120956
mov esi, 4
nop
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esp + 0x70]
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
lea edx, [eax + edx*2]
mov dword [esp + 0x70], edx
sub esi, 1
jne 0x10120840
mov eax, edx
sub eax, 0x64
je 0x10120911
sub eax, 2
je 0x10120906
sub eax, 1
je 0x101208c2
cmp edx, 0xc8
jb 0x10121254
cmp edx, 0xcd
je 0x101208a3
mov ecx, dword [edi + 0x49280]
push 1
push esi
push 0x118
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [edi + 0x49280]
lea edx, [esp + 0x100]
push 1
push 0x144
push edx
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x10121254
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x10
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [edi + 0x2480c]
mov dword [esp + 0x1c], 4
mov ecx, edi
call fcn.101120a0
sub dword [esp + 0x1c], 1
lea esi, [esi + 4]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi - 4], xmm0
jne 0x101208e1
jmp 0x10121254
push 1
push 0
push 6
jmp 0x10121392
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x44
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov ecx, esi
and ecx, 1
add ecx, ecx
movd xmm0, eax
mov eax, esi
shr eax, 1
inc esi
cvtdq2ps xmm0, xmm0
or ecx, eax
movss dword [edi + ecx*4 + 0x2480c], xmm0
cmp esi, 4
jb 0x10120924
jmp 0x10121254
cmp esi, 0xa1
jne 0x101209d2
mov ecx, dword [esp + 0xc]
cmp ecx, 7
jne 0x10121258
mov ecx, dword [edi + 0x49280]
mov eax, 0x4949
push 1
mov word [edi + 0x492d8], ax
push 0
mov eax, dword [ecx]
push 0x8c
call dword [eax + 0xc]
lea esi, [edi + 0x2480c]
mov dword [esp + 0x1c], 3
nop dword [eax]
mov ecx, edi
call fcn.1010f760
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103d8710]
cvtpd2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub dword [esp + 0x1c], 1
jne 0x101209a0
jmp 0x10121254
cmp esi, 0xa4
jne 0x10120a35
mov ecx, dword [esp + 0xc]
cmp ecx, 3
jne 0x10121258
mov ecx, dword [edi + 0x49280]
mov eax, dword [esp + 0x6c]
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 + 0x2480c]
mov dword [esp + 0x1c], 3
nop
mov ecx, edi
call fcn.101120a0
sub dword [esp + 0x1c], 1
lea esi, [esi + 4]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi - 4], xmm0
jne 0x10120a10
jmp 0x10121254
cmp esi, 0xa7
jne 0x10120b9e
mov esi, dword [edi + 0x49280]
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esi]
mov ecx, esi
mov dword [esp + 0x18], eax
mov edx, dword [edx + 0x18]
call edx
mov ecx, dword [edi + 0x49280]
xor byte [esp + 0x18], al
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x49280]
xor al, byte [esp + 0x18]
mov byte [esp + 0x3f], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
mov esi, dword [esp + 0x70]
xor al, byte [esp + 0x3f]
mov dword [esp + 0x40], eax
lea ecx, [esi - 0xc8]
cmp ecx, 0x11
jae 0x10120b2e
mov ecx, dword [esp + 0x68]
movzx ecx, cl
mov dh, byte [ecx + 0x1029dbb8]
movzx ecx, al
mov dl, dh
mov al, dh
add al, al
add dl, al
mov ah, byte [ecx + 0x1029dcb8]
xor ecx, ecx
shl dl, 5
add ah, dl
add dl, dh
xor byte [esp + ecx + 0x100], ah
inc ecx
cmp ecx, 0x144
jb 0x10120ac1
movsx eax, byte [esi + 0x1029f594]
xor esi, esi
sub eax, 0x30
mov ecx, eax
and ecx, 1
and eax, 0xfffffffe
mov dword [esp + 0x28], ecx
lea eax, [esp + eax + 0x100]
mov dword [esp + 0x1c], eax
push eax
mov ecx, edi
call fcn.10110460
movzx eax, ax
movd xmm0, eax
mov eax, esi
shr eax, 1
xor eax, dword [esp + 0x28]
xor eax, esi
inc esi
cvtdq2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x2480c], xmm0
mov eax, dword [esp + 0x1c]
add eax, 2
mov dword [esp + 0x1c], eax
cmp esi, 4
jb 0x10120af8
cmp dword [esp + 0x64], 0xc8
jbe 0x10121254
mov esi, dword [esp + 0x38]
test esi, esi
je 0x10121254
mov eax, dword [esp + 0x68]
xor ecx, ecx
movzx eax, al
test esi, esi
mov esi, dword [esp + 0x10]
mov dh, byte [eax + 0x1029dbb8]
mov eax, dword [esp + 0x40]
movzx eax, al
mov ah, byte [eax + 0x1029dcb8]
je 0x10120b85
mov al, dh
mov dl, dh
add al, al
add dl, al
shl dl, 5
add ah, dl
add dl, dh
xor byte [esi + ecx], ah
inc ecx
cmp ecx, dword [esp + 0x38]
jb 0x10120b77
push dword [esp + 0x38]
mov ecx, edi
push esi
call fcn.10110ea0
mov dword [esp + 0x38], 0
jmp 0x10121254
cmp esi, 0xb001
jne 0x10120bc8
mov ecx, dword [esp + 0xc]
cmp ecx, 3
jne 0x10121258
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov dword [edi + 0x492cc], eax
jmp 0x10121254
cmp esi, 0x200
jne 0x10120c22
mov ecx, dword [esp + 0x14]
cmp ecx, 3
jne 0x10120bf2
mov ecx, edi
call fcn.1010f760
mov ecx, edi
call fcn.1010f760
mov dword [edi + 0x24a70], eax
jmp 0x10121254
cmp ecx, 4
jne 0x10121254
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x20768], ecx
cmp esi, 4
jb 0x10120c00
jmp 0x10121254
cmp esi, 0x201
jne 0x10120c3a
cmp dword [esp + 0x14], 4
je 0x1012139d
jmp 0x10121254
cmp esi, 0x220
jne 0x10120c6d
mov ecx, dword [esp + 0xc]
cmp ecx, 7
jne 0x10121258
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [edi + 0x49300], eax
mov dword [edi + 0x49304], edx
jmp 0x10121254
cmp esi, 0x401
jne 0x10120caf
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jne 0x10121258
cmp dword [esp + 0x14], ecx
jne 0x10121258
xor esi, esi
nop
mov ecx, edi
call fcn.1010f760
mov ecx, esi
shr ecx, 1
xor ecx, esi
inc esi
mov dword [edi + ecx*4 + 0x20768], eax
cmp esi, 4
jb 0x10120c90
jmp 0x10121254
cmp esi, 0x3d
jne 0x10120d3c
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.101f8950
add esp, 8
test eax, eax
je 0x10121254
cmp dword [esp + 0x14], 4
jne 0x10121254
xor esi, esi
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x20768], ecx
cmp esi, 4
jb 0x10120ce1
mov ecx, dword [edi + 0x20774]
lea edx, [edi + 0x20768]
mov esi, edx
mov edi, 3
cmp ecx, dword [esi]
cmova ecx, dword [esi]
lea esi, [esi + 4]
sub edi, 1
jne 0x10120d11
mov edi, dword [esp + 0x34]
mov eax, 4
sub dword [edx], ecx
add edx, 4
sub eax, 1
jne 0x10120d27
add dword [edi + 0x24780], ecx
jmp 0x10121254
cmp esi, 0xe01
jne 0x10120de5
mov ecx, dword [edi + 0x49280]
mov eax, 0x4949
push 1
mov word [edi + 0x492d8], ax
push 0
mov eax, dword [ecx]
push 0x16
call dword [eax + 0xc]
cmp dword [esp + 0x14], 0x2c
mov dword [esp + 0x1c], 0x16
jbe 0x10121254
mov ecx, edi
call fcn.1010f760
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0xe
mov edx, dword [ecx]
mov dword [esp + 0x2c], eax
call dword [edx + 0xc]
mov ecx, edi
call fcn.1010f760
cmp dword [esp + 0x20], 0x76a43207
lea esi, [eax - 4]
jne 0x10120db7
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
mov dword [edi + 0x30], ecx
jmp 0x10120dc7
mov ecx, dword [edi + 0x49280]
push 1
push 0
push esi
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add eax, 0x16
add eax, esi
mov dword [esp + 0x1c], eax
add eax, 0x16
cmp eax, ecx
jb 0x10120d78
mov esi, dword [esp + 0x20]
jmp 0x10120de9
mov ecx, dword [esp + 0x14]
cmp esi, 0xe80
jne 0x10120e80
cmp ecx, 0x100
mov ecx, dword [esp + 0xc]
jne 0x10121258
cmp ecx, 7
jne 0x10121258
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x30
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101120a0
movzx eax, ax
mov ecx, edi
imul eax, eax, 0x1fc
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102aba90]
mulsd xmm0, qword [0x103d7a90]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x2480c], xmm0
call fcn.101120a0
movzx eax, ax
imul eax, eax, 0x17e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102abaa0]
mulsd xmm0, qword [0x103d7a90]
jmp 0x10121248
cmp esi, 0xf00
jne 0x10120ee7
mov ecx, dword [esp + 0xc]
cmp ecx, 7
jne 0x10121258
mov esi, dword [esp + 0x14]
cmp esi, 0x266
jne 0x10120eba
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0xb0
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x101211fc
cmp esi, 0x2de
je 0x10120ece
cmp esi, 0x5de
jne 0x1012165a
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x94
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x101211fc
cmp esi, 0x1011
jne 0x10120ef9
cmp ecx, 9
je 0x10120f05
jmp 0x10121254
cmp esi, 0x20400200
jne 0x10121141
push 7
lea eax, [edi + 0xb8]
push 0x1029f630
push eax
call fcn.1020f800
add esp, 0xc
test eax, eax
jne 0x101210e0
lea esi, [esp + 0xb0]
mov dword [esp + 0x18], 3
nop dword [eax]
nop word [eax + eax]
mov dword [esp + 0x1c], 3
mov ecx, edi
call fcn.101120a0
cwde
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102aba18]
cvtpd2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub dword [esp + 0x1c], 1
jne 0x10120f48
sub dword [esp + 0x18], 1
jne 0x10120f40
movss xmm5, dword [esp + 0xd0]
lea eax, [edi + 0x24830]
movss xmm6, dword [esp + 0xcc]
lea ecx, [edi + 0x24834]
movss xmm7, dword [esp + 0xc8]
xor edx, edx
movss xmm1, dword [esp + 0xb0]
movsd xmm2, qword [edx + 0x1029f530]
cvtps2pd xmm1, xmm1
mov dword [eax - 4], 0
movss xmm0, dword [ecx - 8]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm2
movsd xmm3, qword [edx + 0x1029f538]
movsd xmm4, qword [edx + 0x1029f540]
add edx, 0x18
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
movss xmm0, dword [esp + 0xbc]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
mulsd xmm0, xmm4
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + 0xb4]
movss dword [ecx - 8], xmm0
cvtps2pd xmm1, xmm1
mov dword [eax], 0
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm2
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
movss xmm0, dword [esp + 0xc0]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
mulsd xmm0, xmm4
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + 0xb8]
movss dword [eax], xmm0
cvtps2pd xmm1, xmm1
mov dword [eax + 4], 0
add eax, 0x10
movss xmm0, dword [ecx]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm2
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
movss xmm0, dword [esp + 0xc4]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm5
mulsd xmm0, xmm4
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [ecx], xmm0
add ecx, 0x10
cmp edx, 0x48
jb 0x10120fa2
jmp 0x1012113d
lea eax, [edi + 0x2482c]
mov dword [esp + 0x40], 3
mov dword [esp + 0x18], eax
mov esi, eax
mov dword [esp + 0x1c], 3
nop dword [eax]
mov ecx, edi
call fcn.101120a0
sub dword [esp + 0x1c], 1
lea esi, [esi + 4]
cwde
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102aba18]
cvtpd2ps xmm0, xmm0
movss dword [esi - 4], xmm0
jne 0x10121100
mov eax, dword [esp + 0x18]
add eax, 0x10
sub dword [esp + 0x40], 1
mov dword [esp + 0x18], eax
jne 0x101210f2
mov esi, dword [esp + 0x20]
cmp esi, 0x1012
je 0x10121151
cmp esi, 0x20400600
jne 0x10121181
cmp dword [esp + 0x14], 4
jne 0x10121181
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.101120a0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x20768], ecx
cmp esi, 4
jb 0x10121160
mov esi, dword [esp + 0x20]
cmp esi, 0x1017
je 0x10121191
cmp esi, 0x20400100
jne 0x101211b7
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102aba18]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x2480c], xmm0
cmp esi, 0x1018
je 0x101211c7
cmp esi, 0x20400100
jne 0x101211ed
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102aba18]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24814], xmm0
cmp esi, 0x2011
jne 0x10121254
cmp dword [esp + 0x14], 2
jne 0x10121254
mov eax, 0x4d4d
mov ecx, edi
mov word [edi + 0x492d8], ax
call fcn.101120a0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102aba18]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x2480c], xmm0
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102aba18]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24814], xmm0
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
mov eax, esi
or eax, 0x70
cmp eax, 0x2070
jne 0x10121295
cmp ecx, 4
je 0x10121272
cmp ecx, 0xd
jne 0x10121295
mov esi, dword [edi + 0x49280]
mov ecx, dword [esp + 0x34]
push 0
mov edi, dword [esi]
call fcn.1010f760
add eax, dword [esp + 0x28]
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
mov esi, dword [esp + 0x20]
cmp esi, 0x2020
jne 0x101212bb
mov edi, dword [esp + 0x34]
mov ecx, edi
push 0x102
push 0x101
push dword [esp + 0x2c]
call fcn.1011d6d0
jmp 0x10121425
cmp esi, 0x2040
jne 0x101212d8
mov edi, dword [esp + 0x34]
mov ecx, edi
push esi
push dword [esp + 0x28]
call fcn.1011d770
jmp 0x10121425
cmp esi, 0x2010
jne 0x101212f5
mov edi, dword [esp + 0x34]
mov ecx, edi
push esi
push dword [esp + 0x28]
call fcn.1011d770
jmp 0x10121425
cmp esi, 0xb028
jne 0x10121340
mov eax, dword [esp + 0x34]
mov ecx, eax
push 0
mov esi, dword [eax + 0x49280]
mov edi, dword [esi]
call fcn.1010f760
add eax, dword [esp + 0x28]
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
mov edi, dword [esp + 0x34]
mov ecx, edi
push 0x89
push 0x88
push dword [esp + 0x2c]
call fcn.1011d6d0
mov esi, dword [esp + 0x20]
jmp 0x10121425
cmp esi, 0x4001
jne 0x10121421
mov eax, dword [esp + 0x14]
cmp eax, 0x1f4
jbe 0x10121421
cmp eax, 0x246
jne 0x10121369
mov edx, 0x32
jmp 0x10121389
cmp eax, 0x28d
jne 0x10121377
mov edx, 0x44
jmp 0x10121389
cmp eax, 0x1400
mov edx, 0x7e
mov eax, 0x8e
cmove edx, eax
mov edi, dword [esp + 0x34]
push 1
push 0
push edx
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
nop
mov ecx, edi
call fcn.101120a0
movzx eax, ax
movd xmm0, eax
mov eax, esi
shr eax, 1
cvtdq2ps xmm0, xmm0
xor eax, esi
inc esi
movss dword [edi + eax*4 + 0x2480c], xmm0
cmp esi, 4
jb 0x101213a0
mov ecx, dword [esp + 0x14]
mov eax, ecx
and eax, 0xfffffff8
cmp eax, 0x520
je 0x101213e3
mov edx, 0x16
cmp ecx, 0x5e2
jne 0x101213e8
mov edx, 0x70
mov ecx, dword [edi + 0x49280]
push 1
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.101120a0
mov ecx, esi
shr ecx, 1
xor ecx, esi
inc esi
mov word [edi + ecx*2 + 0x492da], ax
cmp esi, 4
jb 0x10121400
mov esi, dword [esp + 0x20]
jmp 0x10121425
mov edi, dword [esp + 0x34]
lea eax, [edi + 0xb8]
push 0x1029f670
push eax
call fcn.1020f71e
add esp, 8
test eax, eax
jne 0x10121586
cmp esi, 0xa020
jne 0x10121469
xor esi, esi
nop dword [eax + eax]
mov ecx, edi
call fcn.1010f760
mov dword [esp + esi*4 + 0xd4], eax
inc esi
cmp esi, 0xb
jb 0x10121450
jmp 0x1012165a
cmp esi, 0xa021
jne 0x101214b3
xor esi, esi
mov ecx, edi
call fcn.1010f760
sub eax, dword [esp + esi*4 + 0xd4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103d8710]
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x2480c], xmm0
cmp esi, 4
jb 0x10121473
jmp 0x1012165a
cmp esi, 0xa030
jne 0x1012154f
cmp dword [esp + 0x14], 9
jne 0x1012165a
lea eax, [edi + 0x2482c]
mov dword [esp + 0x28], 3
lea esi, [esp + 0xd4]
mov dword [esp + 0x18], eax
nop dword [eax]
nop word [eax + eax]
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], 3
nop dword [eax]
mov ecx, edi
call fcn.1010f760
add ax, word [esi]
add esi, 4
cwde
movd xmm0, eax
mov eax, dword [esp + 0x40]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102aba18]
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
add eax, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x40], eax
jne 0x10121500
mov eax, dword [esp + 0x18]
add eax, 0x10
sub dword [esp + 0x28], 1
mov dword [esp + 0x18], eax
jne 0x101214f0
jmp 0x1012165a
cmp esi, 0xa028
jne 0x1012162e
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.1010f760
sub eax, dword [esp + esi*4 + 0xd4]
mov ecx, esi
shr ecx, 1
xor ecx, esi
inc esi
mov dword [edi + ecx*4 + 0x20768], eax
cmp esi, 4
jb 0x10121560
jmp 0x1012165a
cmp esi, 0xa021
jne 0x101215c9
xor esi, esi
mov ecx, edi
call fcn.1010f760
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103d8710]
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [edi + eax*4 + 0x2480c], xmm0
cmp esi, 4
jb 0x10121590
jmp 0x1012165a
cmp esi, 0xa028
jne 0x1012162e
xor eax, eax
mov dword [esp + 0x28], eax
mov esi, eax
mov ecx, edi
shr esi, 1
xor esi, eax
movss xmm0, dword [edi + esi*4 + 0x2480c]
movss dword [esp + 0x40], xmm0
call fcn.1010f760
movss xmm1, dword [esp + 0x40]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103d8710]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [edi + esi*4 + 0x2480c], xmm1
cmp eax, 4
jb 0x101215d7
jmp 0x1012165a
cmp esi, 0x4021
jne 0x1012165a
mov ecx, edi
call fcn.1010f760
test eax, eax
je 0x1012165a
mov ecx, edi
call fcn.1010f760
test eax, eax
je 0x1012165a
movaps xmm0, xmmword [0x102abbe0]
movups xmmword [edi + 0x2480c], xmm0
mov ecx, dword [edi + 0x49280]
push 0
push 0
push dword [esp + 0x94]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x94]
test eax, eax
jne 0x1011de20
mov eax, dword [esp + 0x98]
mov word [edi + 0x492d8], ax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [edi + 0x49280]
mov eax, 0x4d4d
mov word [edi + 0x492d8], ax
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
xor ecx, ecx
cmp ecx, dword [edi + 0x492fc]
jg 0x101217a5
jl 0x101216d5
cmp eax, dword [edi + 0x492f8]
jae 0x101217a5
cmp eax, 0x4000
jae 0x101217a5
mov eax, dword [esp + 0x28]
mov ecx, edi
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0xa4], esi
mov dword [esp + 0x54], eax
mov dword [esp + 0xa0], eax
call fcn.101120a0
cmp dword [esp + 0x54], 0x100
movzx eax, ax
mov dword [esp + 0x28], eax
mov dword [esp + 0xa8], eax
jne 0x1012177c
cmp eax, 0x100
jne 0x1012177c
mov eax, dword [esp + 0x9c]
add eax, 0xfffffeff
cmp eax, 0x17e
ja 0x1012177c
lea eax, [esi - 0x101]
cmp eax, 0x17e
ja 0x1012177c
xor ecx, ecx
lea edx, [edi + 0x2480c]
nop
mov eax, dword [esp + ecx*4 + 0x9c]
inc ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103d8710]
cvtpd2ps xmm0, xmm0
movss dword [edx], xmm0
add edx, 4
cmp ecx, 4
jb 0x10121750
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
xor ecx, ecx
cmp ecx, dword [edi + 0x492fc]
jl 0x101216d5
jg 0x101217a5
cmp eax, dword [edi + 0x492f8]
jb 0x101216d5
mov eax, dword [esp + 0x98]
mov word [edi + 0x492d8], ax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8