Function at 0x10122fa0
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, 0x102677d0
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 0x10123030
test dl, dl
je 0x1012302c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10123030
add eax, 2
add ecx, 2
test dl, dl
jne 0x10123010
xor eax, eax
jmp 0x10123035
sbb eax, eax
or eax, 1
test eax, eax
je 0x10126fe3
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 0x102677d8
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10126fe3
push 3
lea eax, [esp + 0x48]
push 0x102677dc
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10126fe3
push 4
lea eax, [esp + 0x48]
push str.IIII
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10126fe3
push 4
lea eax, [esp + 0x48]
push str.MMMM
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10126fe3
push 2
lea eax, [esp + 0x48]
push 0x102677f0
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10126ed0
push 3
lea eax, [esp + 0x48]
push 0x102677f4
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10126ed0
mov ecx, str.Nikon
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10123122
test dl, dl
je 0x1012311e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10123122
add eax, 2
add ecx, 2
test dl, dl
jne 0x10123102
xor eax, eax
jmp 0x10123127
sbb eax, eax
or eax, 1
mov esi, 0x4949
test eax, eax
jne 0x1012317f
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.101178d0
mov ecx, edi
mov word [edi + 0x492d8], ax
call fcn.101178d0
cmp ax, 0x2a
jne 0x10126fd5
mov ecx, edi
call fcn.10114f90
mov ecx, dword [edi + 0x49280]
add eax, 0xfffffff8
push 1
push 0
push eax
mov edx, dword [ecx]
call dword [edx + 0xc]
jmp 0x10123494
mov ecx, str.OLYMPUS
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101231a8
test dl, dl
je 0x101231a4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101231a8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10123188
xor eax, eax
jmp 0x101231ad
sbb eax, eax
or eax, 1
test eax, eax
je 0x10123453
mov ecx, 0x102676dc
lea eax, [esp + 0x44]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101231e0
test dl, dl
je 0x101231dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101231e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101231c0
xor eax, eax
jmp 0x101231e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10123453
push 4
lea eax, [esp + 0x48]
push str.SONY
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10123432
mov ecx, str.Panasonic
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10123232
test dl, dl
je 0x1012322e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10123232
add eax, 2
add ecx, 2
test dl, dl
jne 0x10123212
xor eax, eax
jmp 0x10123237
sbb eax, eax
or eax, 1
test eax, eax
je 0x10123432
push 8
lea eax, [esp + 0x48]
push str.FUJIFILM
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1012326c
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
sub eax, 0xa
jmp 0x10123435
mov ecx, str.OLYMP
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10123295
test dl, dl
je 0x10123291
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10123295
add eax, 2
add ecx, 2
test dl, dl
jne 0x10123275
xor eax, eax
jmp 0x1012329a
sbb eax, eax
or eax, 1
test eax, eax
je 0x10123418
mov ecx, str.LEICA
lea eax, [esp + 0x44]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101232d0
test dl, dl
je 0x101232cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101232d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101232b0
xor eax, eax
jmp 0x101232d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10123418
mov ecx, str.Ricoh
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10123306
test dl, dl
je 0x10123302
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10123306
add eax, 2
add ecx, 2
test dl, dl
jne 0x101232e6
xor eax, eax
jmp 0x1012330b
sbb eax, eax
or eax, 1
test eax, eax
je 0x10123418
mov ecx, str.EPSON
lea eax, [esp + 0x44]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10123340
test dl, dl
je 0x1012333c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10123340
add eax, 2
add ecx, 2
test dl, dl
jne 0x10123320
xor eax, eax
jmp 0x10123345
sbb eax, eax
or eax, 1
test eax, eax
je 0x10123418
mov ecx, 0x10267710
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10123376
test dl, dl
je 0x10123372
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10123376
add eax, 2
add ecx, 2
test dl, dl
jne 0x10123356
xor eax, eax
jmp 0x1012337b
sbb eax, eax
or eax, 1
test eax, eax
je 0x101233fe
mov ecx, 0x10267714
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101233a8
test dl, dl
je 0x101233a4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101233a8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10123388
xor eax, eax
jmp 0x101233ad
sbb eax, eax
or eax, 1
test eax, eax
je 0x101233fe
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.101e8e00
add esp, 0xc
test eax, eax
jne 0x101233f2
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [esp + 0x24], eax
jmp 0x1012349a
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
jmp 0x1012349a
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 0x10123494
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 0x10123494
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 0x10123494
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.101178d0
cmp byte [esp + 0x44], 0x4f
mov word [edi + 0x492d8], ax
jne 0x10123494
mov ecx, edi
call fcn.101178d0
lea esi, [edi + 0xb8]
push 5
push str.LEICA
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10123612
push 2
lea esi, [edi + 0xf8]
push 0x102677f8
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x101235fc
push 8
push str.Leica_M8
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101235fc
push 7
push str.LEICA_X
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101235fc
push 0x11
push str.LEICA_M__Typ_240_
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x1012351f
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x10123616
push 2
push 0x10267824
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x101235a9
push 8
push str.Leica_M9
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101235a9
push 0xb
push str.M_Monochrom
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101235a9
push 0xb
push str.Leica_M_Monochrom
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101235a9
push 7
push str.LEICA_T
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10123612
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 0x10123616
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x101235d7
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 0x10123616
cmp eax, 0x3400
jne 0x10123612
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 0x10123616
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 0x10123616
mov esi, dword [esp + 0x24]
mov ecx, edi
call fcn.101178d0
movzx eax, ax
cmp eax, 0x3e8
ja 0x10126fe3
movzx ecx, word [edi + 0x492d8]
mov dword [esp + 0x94], ecx
test eax, eax
je 0x10126fd5
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.10122e70
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 0x101236b4
test dl, dl
je 0x101236b0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101236b4
add eax, 2
add ecx, 2
test dl, dl
jne 0x10123694
xor eax, eax
jmp 0x101236b9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1012396d
cmp esi, 1
jne 0x1012379d
mov ecx, dword [edi + 0x49280]
push esi
push 0
push 0x2c
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101178d0
movzx eax, ax
mov ecx, edi
cdq
mov dword [edi + 0x318], eax
mov dword [edi + 0x31c], edx
call fcn.101178d0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x414], xmm0
call fcn.101178d0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
call fcn.101178d0
mov word [edi + 0x5e0], ax
cmp ax, si
je 0x10123766
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.101178d0
movzx eax, ax
push eax
call fcn.1012f2c0
add esp, 4
mov ecx, edi
fstp dword [edi + 0x428]
call fcn.101178d0
movzx eax, ax
push eax
call fcn.1012f2c0
fstp dword [edi + 0x42c]
add esp, 4
jmp 0x10125dca
cmp esi, 2
jne 0x101237fc
mov ecx, edi
call fcn.101178d0
mov ecx, edi
mov word [edi + 0x3ec], ax
call fcn.101178d0
movzx eax, ax
movd xmm1, eax
movzx eax, word [edi + 0x5e0]
cvtdq2ps xmm1, xmm1
movss dword [edi + 0x430], xmm1
cmp ax, 1
je 0x1012536e
test ax, ax
je 0x1012536e
cwde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [edi + 0x430], xmm1
jmp 0x1012536e
cmp esi, 4
jne 0x10123830
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x2a
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101178d0
movzx eax, ax
push eax
call fcn.1012f2c0
fstp dword [edi + 0x434]
add esp, 4
jmp 0x1012548b
cmp esi, 0xd
jne 0x10123860
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.10135620
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 0x1012577a
cmp esi, 0x95
jne case.0x10124068.537920004
cmp byte [edi + 0x320], 0
lea esi, [edi + 0x320]
jne 0x10125dca
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 0x101238b0
push 0x3e
lea eax, [edi + 0x322]
jmp 0x10125dbe
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 0x1012394b
cmp ah, 0x53
je 0x101238ec
cmp ah, 0x45
je 0x101238ec
cmp ah, 0x4d
jne 0x1012394b
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 0x1012392b
push 1
mov dword [edi + 0x3a0], 0x40001
lea eax, [edi + 0x325]
push 0x3a
jmp 0x10125dbe
cmp ah, 0x4d
jne 0x1012395e
mov eax, 5
push 1
mov word [edi + 0x3a2], ax
lea eax, [edi + 0x325]
push 0x3a
jmp 0x10125dbe
mov byte [edi + 0x322], 0x20
mov byte [edi + 0x323], al
mov byte [edi + 0x324], ah
push 1
push 0x3a
lea eax, [edi + 0x325]
jmp 0x10125dbe
push 4
lea eax, [edi + 0xb8]
push str.FUJI
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x101239f9
lea eax, [esi - 0x1404]
cmp eax, 3
ja case.0x10124068.537920004
jmp dword [eax*4 + 0x10126fec]
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10117990
fstp dword [edi + 0x410]
jmp case.0x10124068.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10117990
fstp dword [edi + 0x414]
jmp case.0x10124068.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10117990
fstp dword [edi + 0x418]
jmp case.0x10124068.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10117990
fstp dword [edi + 0x41c]
jmp case.0x10124068.537920004
push 5
lea eax, [edi + 0xb8]
push str.LEICA
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10123bd3
cmp esi, 0x303
jne 0x10123a3b
cmp dword [esp + 0xc], 4
je 0x10125dca
push 1
push dword [esp + 0x18]
lea eax, [edi + 0x320]
jmp 0x10125dbe
cmp esi, 0x3405
je 0x10123af7
cmp esi, 0x310
je 0x10123af7
cmp esi, 0x34003405
je 0x10123af7
cmp esi, 0x313
je 0x10123a6f
cmp esi, 0x34003406
jne 0x10123ada
movss xmm0, dword [edi + 0x434]
movss xmm1, dword [0x10273c54]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x1039ccb0]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x10123ada
mov eax, dword [esp + 0xc]
cmp eax, 0xa
je 0x10123aa0
cmp eax, 5
jne 0x10123ada
push eax
mov ecx, edi
call fcn.10117990
fstp dword [esp + 0x28]
movss xmm0, dword [esp + 0x28]
movss dword [edi + 0x434], xmm0
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x10273d48]
jbe case.0x10124068.537920004
mov dword [edi + 0x434], 0
jmp case.0x10124068.537920004
cmp esi, 0x3400
jne case.0x10124068.537920004
push esi
push dword [esp + 0x28]
mov ecx, edi
call fcn.10122fa0
jmp 0x10125dca
mov ecx, edi
call fcn.10114f90
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.0x10124068.537920004
cmp byte [edi + 0xf8], 0x4d
lea esi, [edi + 0xf8]
je 0x10123ba5
push 7
push str.LEICA_M
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x10123ba5
cmp byte [esi], 0x53
je 0x10123b7c
push 7
push str.LEICA_S
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10125365
mov esi, dword [esp + 0x20]
mov eax, 0x10
mov word [edi + 0x3aa], ax
cmp byte [edi + 0x320], 0
je case.0x10124068.537920004
mov word [edi + 0x3a2], ax
jmp case.0x10124068.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.0x10124068.537920004
mov word [edi + 0x3a2], cx
jmp case.0x10124068.537920004
push 5
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10123eaf
cmp esi, 0x82
jne 0x10123c0a
push 1
push dword [esp + 0x18]
lea eax, [edi + 0x560]
jmp 0x10125dbe
cmp esi, 0x83
jne 0x10123ca9
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 0x10123c36
mov word [edi + 0x3ee], 0x4641
mov al, byte [edi + 0x307]
test al, 2
je 0x10123c57
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 0x10123c69
mov word [edi + 0x400], 0x5256
mov cl, byte [edi + 0x307]
test cl, 0x10
je 0x10123c80
mov eax, 7
mov word [edi + 0x3a2], ax
test cl, 0x20
je 0x10123c9b
mov eax, dword [str.FT_1]
mov dword [edi + 0x4d8], eax
mov al, byte [0x10267734]
mov byte [edi + 0x4dc], al
and cl, 0xdf
mov byte [edi + 0x307], cl
jmp 0x10125dca
cmp esi, 0x84
jne 0x10123cf2
mov esi, dword [esp + 0xc]
mov ecx, edi
push esi
call fcn.10117990
fstp dword [edi + 0x410]
push esi
mov ecx, edi
call fcn.10117990
fstp dword [edi + 0x414]
push esi
mov ecx, edi
call fcn.10117990
fstp dword [edi + 0x418]
push esi
mov ecx, edi
call fcn.10117990
fstp dword [edi + 0x41c]
jmp 0x10125dca
cmp esi, 0x8b
jne 0x10123d7c
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 0x10125dca
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 [0x10273da0]
movss dword [edi + 0x440], xmm0
jmp 0x10125dca
cmp esi, 0x98
jne case.0x10124068.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 0x10123d90
cmp edx, 0x190
ja 0x10123e27
je 0x10123e1c
lea eax, [edx - 0x64]
cmp eax, 0x68
ja case.0x10123dd0.102
movzx eax, byte [eax + 0x1012700c]
jmp dword [eax*4 + 0x10126ffc]
mov eax, 9
mov ecx, 6
mov dword [esp + 0x38], eax
mov word [edi + 0x3a2], cx
jmp 0x10123e5f
mov eax, 0xf
mov ecx, 6
mov dword [esp + 0x38], eax
mov word [edi + 0x3a2], cx
jmp 0x10123e5f
mov eax, 0x10
mov ecx, 6
mov dword [esp + 0x38], eax
mov word [edi + 0x3a2], cx
jmp 0x10123e5f
mov eax, 0x1cb
mov dword [esp + 0x38], eax
jmp 0x10123e5f
mov eax, edx
sub eax, 0x191
je 0x10123e50
sub eax, 1
je 0x10123e45
sub eax, 1
jne case.0x10123dd0.102
mov eax, 0x36f
mov dword [esp + 0x38], eax
jmp 0x10123e5f
mov eax, 0x1fd
mov dword [esp + 0x38], eax
jmp 0x10123e5f
mov eax, 0x24e
mov dword [esp + 0x38], eax
jmp 0x10123e5f
mov eax, dword [esp + 0x38]
push eax
mov ecx, edi
call fcn.10135620
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 0x10125dca
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10125dca
push eax
push esi
mov ecx, edi
call fcn.101166d0
mov dword [esp + 0x38], 0
jmp 0x10125dca
push 7
lea eax, [edi + 0xb8]
push str.OLYMPUS
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10124239
cmp esi, 0x20100201
ja 0x10124047
je 0x10123f93
cmp esi, 0x207
je 0x10123efb
cmp esi, 0x1002
je 0x10123f4e
cmp esi, 0x20100100
jne case.0x10124068.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 0x10123f41
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 0x10123f30
push ecx
mov ecx, edi
call fcn.10116a10
jmp case.0x10124068.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10117990
fstp qword [esp + 0x28]
movsd xmm0, qword [esp + 0x28]
sub esp, 8
mulsd xmm0, qword [0x1039c168]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fstp dword [edi + 0x434]
add esp, 8
jmp 0x10125dca
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 0x1012401b
cmp eax, 0x20000
jb 0x1012402a
test ecx, ecx
jne 0x1012402a
cmp eax, 0x4ffff
jbe 0x10125dca
and eax, 0x10
or eax, 0
je 0x10125dca
mov eax, 9
mov word [edi + 0x3a2], ax
jmp 0x10125dca
cmp esi, 0x20100301
ja 0x10124203
je 0x101241bc
lea eax, [esi - 0x20100203]
cmp eax, 7
ja case.0x10124068.537920004
jmp dword [eax*4 + 0x10127078]
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.0x10124068.537920004
mov ecx, edi
call fcn.101178d0
movzx eax, ax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10273c48]
movss dword [esp], xmm0
movsd xmm0, qword [0x1039c288]
call fcn.101f0ba0
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
call fcn.1012f3f0
fstp dword [edi + 0x418]
add esp, 8
jmp case.0x10124068.537920004
mov ecx, edi
call fcn.101178d0
movzx eax, ax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10273c48]
movss dword [esp], xmm0
movsd xmm0, qword [0x1039c288]
call fcn.101f0ba0
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
call fcn.1012f3f0
fstp dword [edi + 0x41c]
add esp, 8
jmp case.0x10124068.537920004
mov ecx, edi
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
jmp case.0x10124068.537920004
mov ecx, edi
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x10273dc4]
movss dword [edi + 0x414], xmm0
jbe case.0x10124068.537920004
mov eax, dword [edi + 0x410]
mov dword [edi + 0x414], eax
jmp case.0x10124068.537920004
mov ecx, edi
call fcn.101178d0
movzx eax, ax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10273c48]
movss dword [esp], xmm0
movsd xmm0, qword [0x1039c288]
call fcn.101f0ba0
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
call fcn.1012f3f0
fstp dword [edi + 0x438]
add esp, 8
jmp case.0x10124068.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 0x10125dca
cmp esi, 0x20100303
je 0x10124228
cmp esi, 0x20100403
jne case.0x10124068.537920004
push 1
push dword [esp + 0x18]
lea eax, [edi + 0x560]
jmp 0x10125dbe
push 1
push dword [esp + 0x18]
lea eax, [edi + 0x450]
jmp 0x10125dbe
push 6
lea eax, [edi + 0xb8]
push str.PENTAX
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1012432a
push 2
lea eax, [edi + 0xf8]
push 0x1026785c
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1012432a
cmp esi, 0x1001
jne 0x101242c3
cmp dword [esp + 0xc], 3
jne 0x10125dca
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 0x10125dca
cmp esi, 0x1017
jne 0x10124307
mov ecx, edi
call fcn.101178d0
cmp ax, 2
jne 0x10125dca
movups xmm0, xmmword [str.Wide_Angle_Adapter]
movups xmmword [edi + 0x560], xmm0
mov ax, word [0x10267870]
mov word [edi + 0x570], ax
mov al, byte [0x10267872]
mov byte [edi + 0x572], al
jmp 0x10125dca
cmp esi, 0x1500
jne case.0x10124068.537920004
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10117990
fstp dword [edi + 0x430]
jmp 0x10125dca
push 5
lea eax, [edi + 0xb8]
push str.RICOH
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1012447d
push 6
lea eax, [edi + 0xf8]
push str.PENTAX
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1012447d
cmp esi, 0x1017
je 0x101242cb
cmp esi, 0x1500
je 0x10124313
cmp esi, 0x2001
jne case.0x10124068.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.101178d0
mov ecx, edi
call fcn.101178d0
cmp ax, 0x2c
je 0x101243ce
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.101178d0
cmp ax, 0x2c
jne 0x101243b0
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.10114f90
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.0x10124436.4
jb 0x10124429
cmp eax, 8
ja case.0x10124436.4
dec eax
cmp eax, 7
ja case.0x10124436.4
movzx eax, byte [eax + 0x101270a4]
jmp dword [eax*4 + 0x10127098]
mov eax, 0x63
mov word [edi + 0x3aa], ax
mov eax, 0x12
mov word [edi + 0x3a2], ax
jmp 0x10125dca
mov dword [edi + 0x3a8], 0xe0001
mov dword [edi + 0x318], 0xffffffff
mov dword [edi + 0x31c], 0xffffffff
jmp 0x10125dca
push 6
lea eax, [edi + 0xb8]
push str.PENTAX
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10124e1a
push 6
lea esi, [edi + 0xf8]
push str.PENTAX
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10124e16
push 7
lea eax, [edi + 0xb8]
push str.SAMSUNG
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x101244f3
cmp dword [edi + 0x17c], eax
je 0x101244f3
push 2
push 0x1026785c
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10124e16
push 7
lea eax, [edi + 0xb8]
push str.SAMSUNG
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10124645
cmp dword [esp + 0x20], 2
jne 0x10124574
mov ecx, edi
call fcn.10114f90
cmp eax, 0x2000
jne 0x10124537
mov eax, 0x11
mov word [edi + 0x3aa], ax
jmp 0x1012536e
push 7
push str.NX_mini
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1012455c
mov eax, 0x13
mov word [edi + 0x3aa], ax
jmp 0x1012536e
mov eax, 0x63
mov word [edi + 0x3aa], ax
mov word [edi + 0x3a2], ax
jmp 0x1012536e
mov esi, dword [esp + 0x20]
cmp esi, 3
jne 0x10124595
mov ecx, edi
call fcn.10114f90
mov dword [edi + 0x3a4], eax
mov dword [edi + 0x492cc], eax
jmp 0x10125dca
cmp esi, 0xa003
jne 0x101245cd
mov ecx, edi
call fcn.101178d0
movzx eax, ax
cdq
mov dword [edi + 0x318], eax
or eax, edx
mov dword [edi + 0x31c], edx
je 0x10125dca
mov eax, 0x11
mov word [edi + 0x3a2], ax
jmp 0x10125dca
cmp esi, 0xa019
jne 0x101245ec
mov eax, dword [esp + 0xc]
mov ecx, edi
push eax
call fcn.10117990
fstp dword [edi + 0x434]
jmp 0x10125dca
cmp esi, 0xa01a
jne case.0x10124068.537920004
mov ecx, edi
call fcn.10114f90
movss xmm1, dword [0x1039c4a8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
comiss xmm1, xmm0
movss dword [edi + 0x5e4], xmm0
jbe 0x10125dca
mulss xmm0, xmm1
movss dword [edi + 0x5e4], xmm0
jmp 0x10125dca
push 4
lea eax, [edi + 0xb8]
push str.SONY
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101246f5
push 6
lea eax, [edi + 0xb8]
push str.Konica
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101246f5
push 7
lea eax, [edi + 0xb8]
push str.Minolta
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101246f5
push 0xa
lea eax, [edi + 0xb8]
push str.Hasselblad
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10125365
push 7
push str.Stellar
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101246f5
push 5
push str.Lunar
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x101246f5
push 2
push 0x10267770
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10125365
mov eax, dword [esp + 0x20]
cmp eax, 0xb001
jne 0x10124775
mov ecx, edi
call fcn.101178d0
movzx eax, ax
mov ecx, edi
push eax
mov dword [edi + 0x492cc], eax
call fcn.10116f10
cmp word [esp + 0x58], 0
je 0x10124740
push dword [edi + 0x492cc]
mov esi, dword [esp + 0x58]
mov ecx, edi
push esi
call fcn.10117560
push esi
mov ecx, edi
call fcn.10135700
xor eax, eax
mov dword [esp + 0x58], eax
cmp word [esp + 0x60], 0
je 0x10125dca
cmp word [edi + 0x3aa], 2
mov esi, dword [esp + 0x5c]
jne 0x10124762
push esi
mov ecx, edi
call fcn.10117840
push esi
mov ecx, edi
call fcn.10135700
xor eax, eax
mov dword [esp + 0x60], eax
jmp 0x10125dca
cmp eax, 0x10
jne 0x10124a54
push 9
push 0x10267774
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x10125838
push 6
push str.NEX_5C
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x10125838
push 4
lea eax, [edi + 0xb8]
push str.SONY
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10125838
mov esi, dword [esp + 0x14]
cmp esi, 0x170
je 0x101247fc
cmp esi, 0x1566
je 0x101247fc
cmp esi, 0x1582
je 0x101247fc
cmp esi, 0x17e6
je 0x101247fc
cmp esi, 0x3c00
jne 0x10125838
push esi
mov ecx, edi
call fcn.10135620
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 0x1012482d
cmp dword [eax + 4], 0xffffffff
je 0x10124a43
cmp dword [eax], 0
jne 0x1012483c
cmp dword [eax + 4], 0
je 0x10124a43
cmp esi, 0x170
je 0x1012494b
cmp esi, 0x1566
je 0x1012494b
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 0x10124894
push edx
call fcn.1012f2f0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.1012f2f0
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 0x101248d0
push edx
call fcn.1012f2f0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.1012f2f0
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 0x10124900
push eax
call fcn.1012f2f0
movss xmm1, dword [0x1039c4a8]
add esp, 4
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + 0x418], xmm0
jmp 0x10124908
movss xmm1, dword [0x1039c4a8]
mov al, byte [esi + 6]
test al, al
je 0x1012492e
push eax
call fcn.1012f2f0
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.10117380
push esi
mov ecx, edi
call fcn.10135700
jmp 0x10125838
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 0x1012498a
push edx
call fcn.1012f2f0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.1012f2f0
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 0x101249c4
push ecx
call fcn.1012f2f0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.1012f2f0
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 0x101249f4
push eax
call fcn.1012f2f0
movss xmm1, dword [0x1039c4a8]
add esp, 4
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + 0x418], xmm0
jmp 0x101249fc
movss xmm1, dword [0x1039c4a8]
cmp byte [esi + 4], 0
je 0x10124a25
movzx eax, byte [esi + 7]
push eax
call fcn.1012f2f0
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.10117380
push esi
mov ecx, edi
call fcn.10135700
jmp 0x10125838
mov esi, dword [esp + 0x10]
mov ecx, edi
push esi
call fcn.10135700
jmp 0x10125838
mov esi, dword [esp + 0x20]
cmp esi, 0x105
jne 0x10124a7c
mov ecx, edi
call fcn.101178d0
movzx eax, ax
cdq
mov dword [edi + 0x448], eax
mov dword [edi + 0x44c], edx
jmp 0x10125dca
cmp esi, 0x114
jne 0x10124ba8
push dword [esp + 0x14]
mov ecx, edi
call fcn.10135620
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 0x10124b2e
je 0x10124ac5
sub eax, 0x118
je 0x10124ac5
sub eax, 0x34
jne 0x10124b1d
mov eax, dword [esp + 0x10]
mov dl, byte [eax + 3]
mov cl, byte [eax + 2]
mov al, dl
or al, cl
je 0x10124b1d
movzx ecx, cl
sub esp, 8
shl ecx, 8
movzx eax, dl
or ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1039bf90]
subss xmm0, dword [0x1039c01c]
mulss xmm0, dword [0x1039bfe0]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fstp dword [edi + 0x434]
add esp, 8
mov edx, dword [esp + 0x10]
push edx
mov ecx, edi
call fcn.10135700
jmp 0x1012561d
cmp eax, 0x600
je 0x10124b3c
cmp eax, 0x800
jne 0x10124b1d
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x3f7]
push eax
movzx eax, byte [ecx + 0x3f8]
mov ecx, edi
push eax
call fcn.10117200
cmp word [edi + 0x3a2], 3
je 0x10124b1d
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0x99]
sub eax, 0x10
je 0x10124b8f
sub eax, 1
jne 0x10124b21
mov eax, 2
mov ecx, edi
push edx
mov word [edi + 0x3a2], ax
call fcn.10135700
jmp 0x1012561d
mov eax, 1
mov ecx, edi
push edx
mov word [edi + 0x3a2], ax
call fcn.10135700
jmp 0x1012561d
cmp esi, 0x9050
jne 0x10124c07
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.10135620
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 0x10125dca
mov esi, dword [esp + 0x54]
mov ecx, edi
push eax
push esi
call fcn.10117560
push esi
mov ecx, edi
call fcn.10135700
mov dword [esp + 0x58], 0
jmp 0x10125dca
cmp esi, 0x940c
jne 0x10124c5d
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.10135620
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 0x10125dca
cmp word [edi + 0x3aa], 2
jne 0x10125dca
mov esi, dword [esp + 0x5c]
jmp 0x1012475a
cmp esi, 0xb027
je 0x10124c71
cmp esi, 0x10c
jne 0x10124cf4
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
cmp eax, 0xffffffff
jne 0x10124cf4
mov ecx, edi
call fcn.10114f90
mov dword [edi + 0x31c], 0
mov ecx, dword [edi + 0x31c]
mov dword [edi + 0x318], eax
test ecx, ecx
jne 0x10124cac
cmp eax, 0xef00
jbe 0x10124cd7
test ecx, ecx
ja 0x10124cd7
jb 0x10124cb7
cmp eax, 0xffff
jae 0x10124cd7
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.0x10124068.537920004
mov eax, 1
mov word [edi + 0x3aa], ax
jmp 0x10125dca
cmp esi, 0xb02a
jne case.0x10124068.537920004
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.10135620
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 0x10124d5f
push edx
call fcn.1012f2f0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.1012f2f0
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 0x10124d9b
push edx
call fcn.1012f2f0
push dword [esp + 0x2c]
movzx eax, ax
imul edx, eax, 0x64
call fcn.1012f2f0
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 0x10124dcb
push eax
call fcn.1012f2f0
movss xmm1, dword [0x1039c4a8]
add esp, 4
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + 0x418], xmm0
jmp 0x10124dd3
movss xmm1, dword [0x1039c4a8]
mov al, byte [esi + 6]
test al, al
je 0x10124df9
push eax
call fcn.1012f2f0
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.10117380
push esi
mov ecx, edi
call fcn.10135700
jmp 0x10125dca
mov esi, dword [esp + 0x20]
cmp esi, 5
jne 0x10124e39
mov ecx, edi
call fcn.10114f90
push eax
mov ecx, edi
mov dword [edi + 0x492cc], eax
call fcn.10116b00
jmp 0x10125dca
cmp esi, 0x13
jne 0x10124e64
mov ecx, edi
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1039c4a8]
movss dword [edi + 0x434], xmm0
jmp 0x10125dca
cmp esi, 0x1d
jne 0x10124e9d
mov ecx, edi
call fcn.10114f90
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x1039c4e8]
movss dword [edi + 0x430], xmm0
jmp 0x10125dca
cmp esi, 0x3f
jne 0x10124ed5
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 0x10125dca
cmp esi, 0x207
jne 0x101252bb
mov esi, dword [esp + 0x14]
mov ecx, edi
push esi
call fcn.10135620
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 0x10125062
je 0x10125062
cmp eax, 0x12b9d
je 0x10125062
cmp eax, 0x12ba2
jne 0x10124f43
mov al, byte [ecx + 0x14]
test al, al
je 0x10125062
cmp al, 0xff
je 0x10125062
lea eax, [esi - 0x50]
cmp eax, 0x30
ja case.0x10124f56.81
movzx eax, byte [eax + 0x101270bc]
jmp dword [eax*4 + 0x101270ac]
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 0xd
cmp eax, 0xffffffff
jne 0x101250a3
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 0x1012508b
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 0xc
cmp eax, 0xffffffff
jne 0x101250a3
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 0x1012508b
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 0xf
cmp eax, 0xffffffff
jne 0x101250a3
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 0x1012508b
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 4
cmp eax, 0xffffffff
jne 0x101250a3
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 0x1012508b
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x18], 3
cmp eax, 0xffffffff
jne 0x101250a3
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 0x1012512e
movss xmm0, dword [edi + 0x430]
movss xmm1, dword [0x1039bf78]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x1039ccb0]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1012512e
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.1012f3f0
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 0x1012516d
shr al, 4
sub esp, 8
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1039bfac]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
mov ecx, dword [esp + 0x18]
add esp, 8
fstp dword [edi + 0x438]
mov al, byte [esi + ecx + 0xa]
test al, 0xf
je 0x101251af
movzx eax, al
sub esp, 8
and eax, 0xf
add eax, 0xa
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1039bfac]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
mov ecx, dword [esp + 0x18]
add esp, 8
fstp dword [edi + 0x43c]
mov eax, dword [edi + 0x3a4]
cmp eax, 0x12e6c
je 0x10125245
cmp eax, 0x12e76
je 0x101252ab
cmp eax, 0x12f70
je 0x10125245
movzx eax, byte [esi + ecx]
and eax, 6
jmp dword [eax*4 + 0x101270f0]
cmp eax, 0x12e76
je 0x101252ab
mov al, byte [esi + ecx + 0xf]
cmp al, 1
jbe 0x101252ab
movss xmm0, dword [edi + 0x438]
movss xmm1, dword [0x10273c68]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x1039ccb0]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x101252ab
movzx eax, al
sub esp, 8
and eax, 0x7f
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10273c50]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fstp dword [edi + 0x438]
add esp, 8
push dword [esp + 0x10]
mov ecx, edi
call fcn.10135700
jmp 0x10125dca
cmp esi, 0x239
jne case.0x10124068.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 0x101252f1
mov ax, word [0x10267740]
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 0x10125330
sub edx, ecx
dec esi
nop word [eax + eax]
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x10125340
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 0x10125dca
mov esi, dword [esp + 0x20]
cmp esi, 2
jne 0x101253c7
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.101df510
add esp, 8
test eax, eax
je 0x10125dca
movss xmm0, dword [edi + 0x24a58]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10125dca
mov ecx, edi
call fcn.101178d0
mov ecx, edi
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x24a58], xmm0
jmp 0x10125dca
cmp esi, 0x25
jne 0x10125482
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.101df510
add esp, 8
test eax, eax
je 0x10125dca
movss xmm0, dword [edi + 0x24a58]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10125411
ucomiss xmm0, dword [0x1039c510]
lahf
test ah, 0x44
jp 0x10125dca
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 [0x1039c348]
subsd xmm0, qword [0x1039c2f8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fmul qword [0x1039c3e8]
add esp, 8
fstp qword [esp + 0x28]
cvttsd2si eax, qword [esp + 0x28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x24a58], xmm0
jmp 0x10125dca
cmp esi, 4
jne 0x10125615
mov eax, dword [esp + 0x14]
add eax, 0xffffffe5
cmp eax, 7
ja 0x1012561d
mov ecx, edi
call fcn.10114f90
mov ecx, edi
call fcn.101178d0
movzx ecx, ax
cmp ecx, 0x7fff
je 0x10125521
movss xmm0, dword [edi + 0x24a58]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x101254d5
ucomiss xmm0, dword [0x1039c510]
lahf
test ah, 0x44
jp 0x10125521
movd xmm0, ecx
sub esp, 8
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x1039cc50]
mulsd xmm0, qword [0x1039c070]
subsd xmm0, qword [0x1039c2e8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fmul dword [0x10273db8]
add esp, 8
fstp dword [edi + 0x24a58]
mov ecx, edi
call fcn.101178d0
mov ecx, edi
call fcn.101178d0
movzx ecx, ax
cmp ecx, 0x7fff
je 0x1012558c
movss xmm0, dword [edi + 0x24a60]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1012558c
movd xmm0, ecx
sub esp, 8
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x1039cc50]
mulsd xmm0, qword [0x10273c88]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fstp dword [edi + 0x24a60]
add esp, 8
mov ecx, edi
call fcn.101178d0
movzx ecx, ax
cmp ecx, 0xffff
je 0x101255e7
movss xmm0, dword [edi + 0x24a5c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x101255e7
movsx eax, cx
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273de0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fstp dword [edi + 0x24a5c]
add esp, 8
mov ecx, edi
call fcn.101178d0
mov ecx, edi
call fcn.101178d0
movzx eax, ax
mov ecx, edi
mov dword [esp + 0x6c], eax
call fcn.101178d0
mov ecx, edi
call fcn.101178d0
movzx eax, ax
mov dword [edi + 0x24a70], eax
jmp 0x1012561d
cmp esi, 0x114
jne 0x10125689
push 6
lea eax, [edi + 0xb8]
push str.KONICA
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10125689
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.101178d0
movzx eax, ax
cmp eax, 0x48
je 0x10125682
cmp eax, 0x4c
je 0x10125679
cmp eax, 0x52
jne 0x10125689
mov dword [edi + 0x30], 5
jmp 0x10125689
mov dword [edi + 0x30], 6
jmp 0x10125689
mov dword [edi + 0x30], 0
cmp esi, 7
jne 0x101256bd
cmp dword [esp + 0xc], 2
jne 0x10125dca
cmp dword [esp + 0x14], 0x14
jbe 0x10125dca
mov ecx, dword [edi + 0x49280]
lea eax, [edi + 0x248e8]
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 0x1c]
jmp 0x10125dca
cmp esi, 8
jne 0x101256df
cmp dword [esp + 0xc], 4
jne 0x10125dca
mov ecx, edi
call fcn.10114f90
mov dword [edi + 0x24a70], eax
jmp 0x10125dca
cmp esi, 9
jne 0x10125728
mov ecx, str.Canon
lea eax, [edi + 0xb8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10125710
test dl, dl
je 0x1012570c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10125710
add eax, 2
add ecx, 2
test dl, dl
jne 0x101256f0
xor eax, eax
jmp 0x10125715
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10125dca
lea eax, [edi + 0x24d24]
jmp 0x10125dba
cmp esi, 0xc
jne 0x10125771
cmp dword [esp + 0x14], 4
jne 0x10125dca
xor esi, esi
nop word [eax + eax]
push dword [esp + 0xc]
mov ecx, edi
call fcn.10117990
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 0x10125740
jmp 0x10125dca
cmp esi, 0xd
jne 0x10125833
cmp dword [esp + 0xc], 7
jne 0x10125dca
mov ecx, edi
call fcn.101178d0
mov ecx, 0xaaaa
cmp ax, cx
jne 0x10125dca
mov esi, 2
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x14]
cmp esi, eax
jae 0x101257d4
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 0x101257a3
mov eax, dword [esp + 0x14]
add esi, 4
add eax, 0xfffffffb
cmp esi, eax
jae 0x10125dca
mov ecx, edi
call fcn.10114f90
cmp eax, 0x101
jne 0x10125820
mov eax, dword [esp + 0x14]
mov esi, eax
test eax, eax
je 0x10125820
mov ecx, edi
call fcn.10114f90
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 3
jae 0x10125820
movsx eax, byte [eax + 0x10267884]
sub eax, 0x30
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x14]
add esi, 4
add eax, 0xfffffffb
cmp esi, eax
jb 0x101257e2
jmp 0x10125dca
cmp esi, 0x10
jne 0x10125879
cmp dword [esp + 0xc], 4
jne 0x10125dca
mov ecx, edi
call fcn.10114f90
push eax
mov ecx, edi
mov dword [edi + 0x492cc], eax
call fcn.10115d10
cmp dword [esp + 0x78], 0
je 0x10125dca
push dword [esp + 0x7c]
mov ecx, edi
push dword [edi + 0x492cc]
call fcn.10115e30
jmp 0x10125dca
cmp esi, 0x20400805
jne 0x101258d9
cmp dword [esp + 0x14], 2
jne 0x10125dca
push 7
lea eax, [edi + 0xb8]
push 0x10267888
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10125dca
mov esi, dword [esp + 0xc]
mov ecx, edi
push esi
call fcn.10117990
call fcn.101dd690
push esi
mov ecx, edi
mov dword [edi + 0x24a4c], eax
call fcn.10117990
call fcn.101dd690
mov dword [edi + 0x24a50], eax
jmp 0x10125dca
cmp esi, 0x4001
jne 0x10125c09
mov esi, dword [esp + 0x14]
cmp esi, 0x1f4
jbe 0x10125dca
lea eax, [edi + 0xb8]
push str.Canon
push eax
call fcn.101f6761
add esp, 8
test eax, eax
jne 0x10125dca
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 0x10125a62
je case.0x10125a90.1275
cmp esi, 0x2be
ja 0x10125979
je case.0x10125954.674
lea eax, [esi - 0x246]
cmp eax, 0x6e
ja case.0x10125a90.1276
movzx eax, byte [eax + 0x1012711c]
jmp dword [eax*4 + 0x1012710c]
mov dword [edi + 0x24a38], 1
jmp case.0x10125a90.1276
mov dword [edi + 0x24a38], 2
jmp case.0x10125a90.1276
cmp esi, 0x4cb
ja 0x10125a45
je case.0x10125954.674
cmp esi, 0x31c
jne case.0x10125a90.1276
mov dword [edi + 0x24a38], 3
mov ecx, edi
mov dword [edi + 0x24a38], 4
call fcn.101178d0
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.101178d0
movzx ecx, ax
add esi, ecx
sub dword [esp + 0x1c], 1
jne 0x101259e0
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 0x10125bc7
cmp eax, 5
je 0x10125bc7
cmp eax, 6
je 0x10125bbc
cmp eax, 7
je 0x10125bbc
cmp eax, 9
jne case.0x10125a90.1276
mov eax, dword [esp + 0x18]
add eax, 0x5a8
jmp 0x10125bd0
cmp esi, 0x4e2
jb case.0x10125a90.1276
cmp esi, 0x4e3
jbe case.0x10125954.674
jmp case.0x10125a90.1276
cmp esi, 0x53a
ja 0x10125b06
cmp esi, 0x539
jae case.0x10125954.674
lea eax, [esi - 0x4fb]
cmp eax, 0x29
ja case.0x10125a90.1276
movzx eax, byte [eax + 0x10127198]
jmp dword [eax*4 + 0x1012718c]
mov ecx, edi
mov dword [edi + 0x24a38], 6
call fcn.101178d0
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.101178d0
movzx ecx, ax
add esi, ecx
sub dword [esp + 0x1c], 1
jne 0x10125ad4
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 0x10125bd0
cmp esi, 0x542
je case.0x10125954.674
cmp esi, 0x5e2
je case.0x10125a90.1312
cmp esi, 0x1400
jne case.0x10125a90.1276
mov dword [edi + 0x24a38], 5
jmp case.0x10125a90.1276
mov ecx, edi
mov dword [edi + 0x24a38], 7
call fcn.101178d0
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.101178d0
movzx ecx, ax
add esi, ecx
sub dword [esp + 0x1c], 1
jne 0x10125b72
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 0x10125bac
mov eax, dword [esp + 0x18]
add eax, 0x3fa
jmp 0x10125bd0
cmp eax, 0xb
jne case.0x10125a90.1276
mov eax, dword [esp + 0x18]
add eax, 0x5ba
jmp 0x10125bd0
mov eax, dword [esp + 0x18]
add eax, 0x5a0
jmp 0x10125bd0
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.101178d0
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 0x10125dca
cmp esi, 0x11
jne 0x10125c6b
cmp dword [edi + 0x178], 0
je 0x10125dca
push 5
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10125dca
mov esi, dword [edi + 0x49280]
mov ecx, dword [esp + 0x34]
push eax
mov edi, dword [esi]
call fcn.10114f90
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.10129db0
jmp 0x10125dca
cmp esi, 0x14
jne 0x10125d9f
cmp dword [esp + 0xc], 7
jne 0x10125dca
cmp dword [esp + 0x14], 0xa00
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
jne 0x10125ca2
push 1
push 0
push 0x4e0
call dword [eax + 0xc]
jmp 0x10126a2c
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.101e8e00
add esp, 0xc
test eax, eax
jne 0x10125dca
mov ecx, str.0100
lea eax, [esp + 0x48]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10125cf3
test dl, dl
je 0x10125cef
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10125cf3
add eax, 2
add ecx, 2
test dl, dl
jne 0x10125cd3
xor esi, esi
jmp 0x10125cf8
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.10114f90
shl eax, 2
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x2480c], xmm0
call fcn.10114f90
mov ecx, edi
mov esi, eax
call fcn.10114f90
add esi, eax
mov ecx, edi
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24810], xmm0
call fcn.10114f90
shl eax, 2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24814], xmm0
jmp 0x10125dca
cmp esi, 0x15
jne 0x10125dca
cmp dword [esp + 0xc], 2
jne 0x10125dca
cmp dword [edi + 0x178], 0
je 0x10125dca
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.101df510
mov esi, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x10125e0c
cmp esi, 0x1b
jne 0x10125df9
mov esi, 0x1018
mov dword [esp + 0x20], esi
jmp 0x101269f7
cmp esi, 0x1c
jne 0x10125e0c
mov esi, 0x1017
mov dword [esp + 0x20], esi
jmp 0x101269c1
cmp esi, 0x1d
jne 0x10125e82
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov esi, eax
test esi, esi
je 0x10126a84
nop dword [eax + eax]
cmp esi, 0xffffffff
je 0x10126a84
push esi
call fcn.101e3298
add esp, 4
test eax, eax
je 0x10125e4b
add esi, 0xffffffd0
jmp 0x10125e5c
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 0x10125e30
jmp 0x10126a84
cmp esi, 0x29
jne 0x10125f03
mov ecx, dword [esp + 0xc]
cmp ecx, 1
jne 0x10126a88
mov eax, dword [esp + 0x6c]
cmp eax, 0x12
jae 0x10125ead
movsx edx, byte [eax + str.012347800000005896]
sub edx, 0x30
jmp 0x10125eaf
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.10114f90
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x1039cc50]
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 0x10125ec7
jmp 0x10126a84
cmp esi, 0x81
jne 0x10125f70
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jne 0x10125f7c
mov ecx, edi
call fcn.10114f90
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.101178d0
add ax, ax
mov ecx, edi
mov word [edi + 0x10], ax
call fcn.101178d0
mov word [edi + 0x12], ax
mov dword [edi + 0x188], 0x61616161
jmp 0x10126a84
cmp esi, 0x100
jne 0x10125f86
mov ecx, dword [esp + 0xc]
cmp ecx, 7
je 0x10125f9b
jmp 0x10126a88
cmp esi, 0x280
jne 0x10125fbe
mov ecx, dword [esp + 0xc]
cmp ecx, 1
jne 0x10126a88
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 0x1012600d
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jne 0x10126a88
mov ecx, edi
call fcn.10114f90
mov ecx, dword [esp + 0xc]
mov dword [edi + 0x49298], eax
or eax, 0
mov dword [edi + 0x4929c], 0
je 0x10126a88
mov eax, dword [esp + 0x24]
cdq
add dword [edi + 0x49298], eax
adc dword [edi + 0x4929c], edx
jmp 0x10126a88
cmp esi, 0x89
jne 0x10126034
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jne 0x10126a88
mov ecx, edi
call fcn.10114f90
mov dword [edi + 0x24d70], eax
jmp 0x10126a84
cmp esi, 0x8c
je 0x10126044
cmp esi, 0x96
jne 0x1012605d
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 0x10126186
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 0x10126070
mov eax, edx
sub eax, 0x64
je 0x10126141
sub eax, 2
je 0x10126136
sub eax, 1
je 0x101260f2
cmp edx, 0xc8
jb 0x10126a84
cmp edx, 0xcd
je 0x101260d3
mov ecx, dword [edi + 0x49280]
push 1
push esi
push pe_nt_image_headers32
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 0x10126a84
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.101178d0
sub dword [esp + 0x1c], 1
lea esi, [esi + 4]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi - 4], xmm0
jne 0x10126111
jmp 0x10126a84
push 1
push 0
push 6
jmp 0x10126bc2
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.101178d0
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 0x10126154
jmp 0x10126a84
cmp esi, 0xa1
jne 0x10126202
mov ecx, dword [esp + 0xc]
cmp ecx, 7
jne 0x10126a88
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.10114f90
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub dword [esp + 0x1c], 1
jne 0x101261d0
jmp 0x10126a84
cmp esi, 0xa4
jne 0x10126265
mov ecx, dword [esp + 0xc]
cmp ecx, 3
jne 0x10126a88
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.101178d0
sub dword [esp + 0x1c], 1
lea esi, [esi + 4]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi - 4], xmm0
jne 0x10126240
jmp 0x10126a84
cmp esi, 0xa7
jne 0x101263ce
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 0x1012635e
mov ecx, dword [esp + 0x68]
movzx ecx, cl
mov dh, byte [ecx + 0x10265e10]
movzx ecx, al
mov dl, dh
mov al, dh
add al, al
add dl, al
mov ah, byte [ecx + 0x10265f10]
xor ecx, ecx
shl dl, 5
add ah, dl
add dl, dh
xor byte [esp + ecx + 0x100], ah
inc ecx
cmp ecx, 0x144
jb 0x101262f1
movsx eax, byte [esi + 0x102677ec]
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.10115c90
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 0x10126328
cmp dword [esp + 0x64], 0xc8
jbe 0x10126a84
mov esi, dword [esp + 0x38]
test esi, esi
je 0x10126a84
mov eax, dword [esp + 0x68]
xor ecx, ecx
movzx eax, al
test esi, esi
mov esi, dword [esp + 0x10]
mov dh, byte [eax + 0x10265e10]
mov eax, dword [esp + 0x40]
movzx eax, al
mov ah, byte [eax + 0x10265f10]
je 0x101263b5
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 0x101263a7
push dword [esp + 0x38]
mov ecx, edi
push esi
call fcn.101166d0
mov dword [esp + 0x38], 0
jmp 0x10126a84
cmp esi, 0xb001
jne 0x101263f8
mov ecx, dword [esp + 0xc]
cmp ecx, 3
jne 0x10126a88
mov ecx, edi
call fcn.101178d0
movzx eax, ax
mov dword [edi + 0x492cc], eax
jmp 0x10126a84
cmp esi, 0x200
jne 0x10126452
mov ecx, dword [esp + 0x14]
cmp ecx, 3
jne 0x10126422
mov ecx, edi
call fcn.10114f90
mov ecx, edi
call fcn.10114f90
mov dword [edi + 0x24a70], eax
jmp 0x10126a84
cmp ecx, 4
jne 0x10126a84
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.101178d0
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 0x10126430
jmp 0x10126a84
cmp esi, 0x201
jne 0x1012646a
cmp dword [esp + 0x14], 4
je 0x10126bcd
jmp 0x10126a84
cmp esi, 0x220
jne 0x1012649d
mov ecx, dword [esp + 0xc]
cmp ecx, 7
jne 0x10126a88
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 0x10126a84
cmp esi, 0x401
jne 0x101264df
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jne 0x10126a88
cmp dword [esp + 0x14], ecx
jne 0x10126a88
xor esi, esi
nop
mov ecx, edi
call fcn.10114f90
mov ecx, esi
shr ecx, 1
xor ecx, esi
inc esi
mov dword [edi + ecx*4 + 0x20768], eax
cmp esi, 4
jb 0x101264c0
jmp 0x10126a84
cmp esi, 0x3d
jne 0x1012656c
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.101df510
add esp, 8
test eax, eax
je 0x10126a84
cmp dword [esp + 0x14], 4
jne 0x10126a84
xor esi, esi
mov ecx, edi
call fcn.101178d0
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 0x10126511
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 0x10126541
mov edi, dword [esp + 0x34]
mov eax, 4
sub dword [edx], ecx
add edx, 4
sub eax, 1
jne 0x10126557
add dword [edi + 0x24780], ecx
jmp 0x10126a84
cmp esi, 0xe01
jne 0x10126615
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 0x10126a84
mov ecx, edi
call fcn.10114f90
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.10114f90
cmp dword [esp + 0x20], 0x76a43207
lea esi, [eax - 4]
jne 0x101265e7
mov ecx, edi
call fcn.101178d0
movzx ecx, ax
mov dword [edi + 0x30], ecx
jmp 0x101265f7
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 0x101265a8
mov esi, dword [esp + 0x20]
jmp 0x10126619
mov ecx, dword [esp + 0x14]
cmp esi, 0xe80
jne 0x101266b0
cmp ecx, 0x100
mov ecx, dword [esp + 0xc]
jne 0x10126a88
cmp ecx, 7
jne 0x10126a88
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x30
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.101178d0
movzx eax, ax
mov ecx, edi
imul eax, eax, 0x1fc
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273ce8]
mulsd xmm0, qword [0x10273c58]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x2480c], xmm0
call fcn.101178d0
movzx eax, ax
imul eax, eax, 0x17e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273cf8]
mulsd xmm0, qword [0x10273c58]
jmp 0x10126a78
cmp esi, 0xf00
jne 0x10126717
mov ecx, dword [esp + 0xc]
cmp ecx, 7
jne 0x10126a88
mov esi, dword [esp + 0x14]
cmp esi, 0x266
jne 0x101266ea
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0xb0
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x10126a2c
cmp esi, 0x2de
je 0x101266fe
cmp esi, 0x5de
jne 0x10126e8a
mov ecx, dword [edi + 0x49280]
push 1
push 0
push 0x94
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x10126a2c
cmp esi, 0x1011
jne 0x10126729
cmp ecx, 9
je 0x10126735
jmp 0x10126a84
cmp esi, 0x20400200
jne 0x10126971
push 7
lea eax, [edi + 0xb8]
push 0x10267888
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10126910
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.101178d0
cwde
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273c78]
cvtpd2ps xmm0, xmm0
movss dword [esi], xmm0
add esi, 4
sub dword [esp + 0x1c], 1
jne 0x10126778
sub dword [esp + 0x18], 1
jne 0x10126770
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 + 0x10267788]
cvtps2pd xmm1, xmm1
mov dword [eax - 4], 0
movss xmm0, dword [ecx - 8]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm2
movsd xmm3, qword [edx + 0x10267790]
movsd xmm4, qword [edx + 0x10267798]
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 0x101267d2
jmp 0x1012696d
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.101178d0
sub dword [esp + 0x1c], 1
lea esi, [esi + 4]
cwde
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273c78]
cvtpd2ps xmm0, xmm0
movss dword [esi - 4], xmm0
jne 0x10126930
mov eax, dword [esp + 0x18]
add eax, 0x10
sub dword [esp + 0x40], 1
mov dword [esp + 0x18], eax
jne 0x10126922
mov esi, dword [esp + 0x20]
cmp esi, 0x1012
je 0x10126981
cmp esi, 0x20400600
jne 0x101269b1
cmp dword [esp + 0x14], 4
jne 0x101269b1
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.101178d0
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 0x10126990
mov esi, dword [esp + 0x20]
cmp esi, 0x1017
je 0x101269c1
cmp esi, 0x20400100
jne 0x101269e7
mov ecx, edi
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273c78]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x2480c], xmm0
cmp esi, 0x1018
je 0x101269f7
cmp esi, 0x20400100
jne 0x10126a1d
mov ecx, edi
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273c78]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x24814], xmm0
cmp esi, 0x2011
jne 0x10126a84
cmp dword [esp + 0x14], 2
jne 0x10126a84
mov eax, 0x4d4d
mov ecx, edi
mov word [edi + 0x492d8], ax
call fcn.101178d0
movzx eax, ax
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273c78]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x2480c], xmm0
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273c78]
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 0x10126ac5
cmp ecx, 4
je 0x10126aa2
cmp ecx, 0xd
jne 0x10126ac5
mov esi, dword [edi + 0x49280]
mov ecx, dword [esp + 0x34]
push 0
mov edi, dword [esi]
call fcn.10114f90
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 0x10126aeb
mov edi, dword [esp + 0x34]
mov ecx, edi
push 0x102
push 0x101
push dword [esp + 0x2c]
call fcn.10122f00
jmp 0x10126c55
cmp esi, 0x2040
jne 0x10126b08
mov edi, dword [esp + 0x34]
mov ecx, edi
push esi
push dword [esp + 0x28]
call fcn.10122fa0
jmp 0x10126c55
cmp esi, 0x2010
jne 0x10126b25
mov edi, dword [esp + 0x34]
mov ecx, edi
push esi
push dword [esp + 0x28]
call fcn.10122fa0
jmp 0x10126c55
cmp esi, 0xb028
jne 0x10126b70
mov eax, dword [esp + 0x34]
mov ecx, eax
push 0
mov esi, dword [eax + 0x49280]
mov edi, dword [esi]
call fcn.10114f90
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.10122f00
mov esi, dword [esp + 0x20]
jmp 0x10126c55
cmp esi, 0x4001
jne 0x10126c51
mov eax, dword [esp + 0x14]
cmp eax, 0x1f4
jbe 0x10126c51
cmp eax, 0x246
jne 0x10126b99
mov edx, 0x32
jmp 0x10126bb9
cmp eax, 0x28d
jne 0x10126ba7
mov edx, 0x44
jmp 0x10126bb9
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.101178d0
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 0x10126bd0
mov ecx, dword [esp + 0x14]
mov eax, ecx
and eax, 0xfffffff8
cmp eax, 0x520
je 0x10126c13
mov edx, 0x16
cmp ecx, 0x5e2
jne 0x10126c18
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.101178d0
mov ecx, esi
shr ecx, 1
xor ecx, esi
inc esi
mov word [edi + ecx*2 + 0x492da], ax
cmp esi, 4
jb 0x10126c30
mov esi, dword [esp + 0x20]
jmp 0x10126c55
mov edi, dword [esp + 0x34]
lea eax, [edi + 0xb8]
push 0x102678c8
push eax
call fcn.101f6761
add esp, 8
test eax, eax
jne 0x10126db6
cmp esi, 0xa020
jne 0x10126c99
xor esi, esi
nop dword [eax + eax]
mov ecx, edi
call fcn.10114f90
mov dword [esp + esi*4 + 0xd4], eax
inc esi
cmp esi, 0xb
jb 0x10126c80
jmp 0x10126e8a
cmp esi, 0xa021
jne 0x10126ce3
xor esi, esi
mov ecx, edi
call fcn.10114f90
sub eax, dword [esp + esi*4 + 0xd4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
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 0x10126ca3
jmp 0x10126e8a
cmp esi, 0xa030
jne 0x10126d7f
cmp dword [esp + 0x14], 9
jne 0x10126e8a
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.10114f90
add ax, word [esi]
add esi, 4
cwde
movd xmm0, eax
mov eax, dword [esp + 0x40]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273c78]
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
add eax, 4
sub dword [esp + 0x1c], 1
mov dword [esp + 0x40], eax
jne 0x10126d30
mov eax, dword [esp + 0x18]
add eax, 0x10
sub dword [esp + 0x28], 1
mov dword [esp + 0x18], eax
jne 0x10126d20
jmp 0x10126e8a
cmp esi, 0xa028
jne 0x10126e5e
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.10114f90
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 0x10126d90
jmp 0x10126e8a
cmp esi, 0xa021
jne 0x10126df9
xor esi, esi
mov ecx, edi
call fcn.10114f90
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
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 0x10126dc0
jmp 0x10126e8a
cmp esi, 0xa028
jne 0x10126e5e
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.10114f90
movss xmm1, dword [esp + 0x40]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
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 0x10126e07
jmp 0x10126e8a
cmp esi, 0x4021
jne 0x10126e8a
mov ecx, edi
call fcn.10114f90
test eax, eax
je 0x10126e8a
mov ecx, edi
call fcn.10114f90
test eax, eax
je 0x10126e8a
movaps xmm0, xmmword [0x10273e40]
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 0x10123650
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 0x10126fd5
jl 0x10126f05
cmp eax, dword [edi + 0x492f8]
jae 0x10126fd5
cmp eax, 0x4000
jae 0x10126fd5
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.101178d0
cmp dword [esp + 0x54], 0x100
movzx eax, ax
mov dword [esp + 0x28], eax
mov dword [esp + 0xa8], eax
jne 0x10126fac
cmp eax, 0x100
jne 0x10126fac
mov eax, dword [esp + 0x9c]
add eax, 0xfffffeff
cmp eax, 0x17e
ja 0x10126fac
lea eax, [esi - 0x101]
cmp eax, 0x17e
ja 0x10126fac
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 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
movss dword [edx], xmm0
add edx, 4
cmp ecx, 4
jb 0x10126f80
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 0x10126f05
jg 0x10126fd5
cmp eax, dword [edi + 0x492f8]
jb 0x10126f05
mov eax, dword [esp + 0x98]
mov word [edi + 0x492d8], ax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8