Function at 0x101279e0
Capabilities:
Check http status code
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x98
push esi
push edi
mov edi, ecx
mov dword [esp + 0x58], 0
xor eax, eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x44], eax
lea edx, [esp + 0x34]
mov dword [esp + 0x4c], eax
mov ecx, dword [edi + 0x49280]
movzx eax, word [edi + 0x492d8]
push 0xa
mov dword [esp + 0x8c], eax
mov eax, dword [ecx]
push 1
push edx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x70], 0
call dword [eax + 8]
mov ecx, str.Nikon
lea eax, [esp + 0x34]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127260
test dl, dl
je 0x1012725c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127260
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127240
xor eax, eax
jmp 0x10127265
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101272ba
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov esi, eax
mov ecx, edi
mov dword [esp + 0xc], esi
call fcn.101178d0
mov ecx, edi
mov word [edi + 0x492d8], ax
call fcn.101178d0
cmp ax, 0x2a
jne 0x101280a8
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 0x101275fc
mov ecx, str.OLYMPUS
lea eax, [esp + 0x34]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101272e3
test dl, dl
je 0x101272df
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101272e3
add eax, 2
add ecx, 2
test dl, dl
jne 0x101272c3
xor eax, eax
jmp 0x101272e8
sbb eax, eax
or eax, 1
test eax, eax
je 0x101275bb
mov ecx, 0x102676dc
lea eax, [esp + 0x34]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127320
test dl, dl
je 0x1012731c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127320
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127300
xor eax, eax
jmp 0x10127325
sbb eax, eax
or eax, 1
test eax, eax
je 0x101275bb
push 7
lea esi, [edi + 0xb8]
push str.SAMSUNG
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10127351
cmp dword [ebp + 0x10], 1
je 0x101275bb
push 4
lea eax, [esp + 0x38]
push str.SONY
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10127595
mov ecx, str.Panasonic
lea eax, [esp + 0x34]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127396
test dl, dl
je 0x10127392
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127396
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127376
xor eax, eax
jmp 0x1012739b
sbb eax, eax
or eax, 1
test eax, eax
je 0x10127595
push 8
lea eax, [esp + 0x38]
push str.FUJIFILM
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x101273d0
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
lea esi, [eax - 0xa]
jmp 0x10127598
mov ecx, str.OLYMP
lea eax, [esp + 0x34]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127400
test dl, dl
je 0x101273fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127400
add eax, 2
add ecx, 2
test dl, dl
jne 0x101273e0
xor eax, eax
jmp 0x10127405
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012757b
mov ecx, str.LEICA
lea eax, [esp + 0x34]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127436
test dl, dl
je 0x10127432
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127436
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127416
xor eax, eax
jmp 0x1012743b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012757b
mov ecx, str.Ricoh
lea eax, [esp + 0x34]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127470
test dl, dl
je 0x1012746c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127470
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127450
xor eax, eax
jmp 0x10127475
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012757b
mov ecx, str.EPSON
lea eax, [esp + 0x34]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101274a6
test dl, dl
je 0x101274a2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101274a6
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127486
xor eax, eax
jmp 0x101274ab
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012757b
mov ecx, 0x10267710
lea eax, [esp + 0x34]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101274e0
test dl, dl
je 0x101274dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101274e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101274c0
xor eax, eax
jmp 0x101274e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012755e
mov ecx, 0x10267714
lea eax, [esp + 0x34]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127512
test dl, dl
je 0x1012750e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127512
add eax, 2
add ecx, 2
test dl, dl
jne 0x101274f2
xor eax, eax
jmp 0x10127517
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012755e
mov ecx, dword [edi + 0x49280]
push 1
push 0xffffffffffffffff
push 0xfffffffffffffff6
mov eax, dword [ecx]
call dword [eax + 0xc]
push 7
push str.SAMSUNG
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1012756f
cmp dword [ebp + 0x10], 2
jne 0x1012756f
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov esi, eax
mov dword [esp + 0xc], esi
jmp 0x101275fc
mov ecx, dword [edi + 0x49280]
push 1
push 0xffffffffffffffff
push 0xfffffffffffffffc
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [ebp + 8]
mov dword [esp + 0xc], esi
jmp 0x101275fc
mov ecx, dword [edi + 0x49280]
push 1
push 0xffffffffffffffff
push 0xfffffffffffffffe
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [ebp + 8]
mov dword [esp + 0xc], esi
jmp 0x101275fc
mov esi, dword [ebp + 8]
mov dword [esp + 0xc], esi
mov ecx, dword [edi + 0x49280]
mov eax, 0x4949
push 1
mov word [edi + 0x492d8], ax
push 0
mov eax, dword [ecx]
push 2
call dword [eax + 0xc]
jmp 0x101275fc
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [edi + 0x49280]
push 1
push 0xffffffffffffffff
lea esi, [eax - 0xa]
mov eax, dword [ecx]
push 0xfffffffffffffffe
mov dword [esp + 0x18], esi
call dword [eax + 0xc]
mov ecx, edi
call fcn.101178d0
cmp byte [esp + 0x34], 0x4f
mov word [edi + 0x492d8], ax
jne 0x101275fc
mov ecx, edi
call fcn.101178d0
mov ecx, edi
call fcn.101178d0
movzx ecx, ax
cmp ecx, 0x3e8
ja 0x101280b6
movzx edx, word [edi + 0x492d8]
mov dword [esp + 0x84], edx
test ecx, ecx
je 0x101280a8
shl dword [ebp + 0xc], 0x10
nop dword [eax]
lea eax, [esp + 0x6c]
mov word [edi + 0x492d8], dx
push eax
lea eax, [esp + 0x20]
dec ecx
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x88], ecx
push eax
lea eax, [esp + 0x6c]
mov ecx, edi
push eax
push esi
call fcn.10122e70
mov esi, dword [esp + 0x60]
lea eax, [edi + 0xb8]
or esi, dword [ebp + 0xc]
mov ecx, str.Canon
mov dword [esp + 0x60], esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127691
test dl, dl
je 0x1012768d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127691
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127671
xor eax, eax
jmp 0x10127696
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10127984
cmp esi, 1
jne 0x1012777a
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 0x10127743
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 case.0x101282d3.537920004
cmp esi, 2
jne 0x101277dd
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 case.0x101282d3.537920004
mov esi, dword [esp + 0xc]
test ax, ax
je 0x101293a4
cwde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [edi + 0x430], xmm1
jmp 0x101293a4
cmp esi, 4
jne 0x10127811
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 case.0x101282d3.537920004
cmp esi, 0xd
jne 0x1012783e
mov esi, dword [esp + 0x1c]
mov ecx, edi
push esi
mov dword [esp + 0x68], esi
call fcn.10135620
mov ecx, dword [edi + 0x49280]
push 1
push esi
push eax
mov edx, dword [ecx]
mov dword [esp + 0x74], eax
call dword [edx + 8]
jmp case.0x101282d3.537920004
cmp esi, 0x10
jne 0x10127879
mov ecx, edi
call fcn.10114f90
push eax
mov ecx, edi
mov dword [edi + 0x492cc], eax
call fcn.10115d10
cmp dword [esp + 0x64], 0
je case.0x101282d3.537920004
push dword [esp + 0x68]
mov ecx, edi
push dword [edi + 0x492cc]
call fcn.10115e30
jmp case.0x101282d3.537920004
cmp esi, 0x95
jne case.0x101282d3.537920004
cmp byte [edi + 0x320], 0
lea esi, [edi + 0x320]
jne case.0x101282d3.537920004
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 0x101278d5
mov ecx, dword [edi + 0x49280]
lea eax, [edi + 0x322]
push 0x3e
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp case.0x101282d3.537920004
mov byte [edi + 0x3ee], al
lea edx, [esp + 0x58]
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 + 0x54]
cmp al, 0x2d
jne 0x10127956
cmp ah, 0x53
je 0x10127911
cmp ah, 0x45
je 0x10127911
cmp ah, 0x4d
jne 0x10127956
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 0x10127943
mov dword [edi + 0x3a0], 0x40001
jmp 0x10127969
cmp ah, 0x4d
jne 0x10127969
mov eax, 5
mov word [edi + 0x3a2], ax
jmp 0x10127969
mov byte [edi + 0x322], 0x20
mov byte [edi + 0x323], al
mov byte [edi + 0x324], ah
mov ecx, dword [edi + 0x49280]
lea eax, [edi + 0x325]
push 1
push 0x3a
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp case.0x101282d3.537920004
push 4
lea eax, [edi + 0xb8]
push str.FUJI
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10127a0c
add esi, 0xffffebfc
cmp esi, 3
ja case.0x101282d3.537920004
jmp dword [esi*4 + 0x101293d4]
push dword [esp + 0x24]
mov ecx, edi
call fcn.10117990
fstp dword [edi + 0x410]
jmp case.0x101282d3.537920004
push dword [esp + 0x24]
mov ecx, edi
call fcn.10117990
fstp dword [edi + 0x414]
jmp case.0x101282d3.537920004
push dword [esp + 0x24]
mov ecx, edi
call fcn.10117990
fstp dword [edi + 0x418]
jmp case.0x101282d3.537920004
push dword [esp + 0x24]
mov ecx, edi
call fcn.10117990
fstp dword [edi + 0x41c]
jmp case.0x101282d3.537920004
push 5
lea eax, [edi + 0xb8]
push str.LEICA
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x10127bfb
cmp esi, 0x303
jne 0x10127a5a
cmp dword [esp + 0x24], 4
je case.0x101282d3.537920004
lea eax, [edi + 0x320]
mov ecx, dword [edi + 0x49280]
push 1
push dword [esp + 0x20]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
jmp case.0x101282d3.537920004
cmp esi, 0x3405
je 0x10127b1f
cmp esi, 0x310
je 0x10127b1f
cmp esi, 0x34003405
je 0x10127b1f
cmp esi, 0x313
je 0x10127a8e
cmp esi, 0x34003406
jne 0x10127afd
movss xmm0, dword [edi + 0x434]
movss xmm1, dword [0x10273c54]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x1039ccb0]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x10127afd
mov eax, dword [esp + 0x24]
cmp eax, 0xa
je 0x10127abf
cmp eax, 5
jne 0x10127afd
push eax
mov ecx, edi
call fcn.10117990
mov esi, dword [esp + 0xc]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
movss dword [edi + 0x434], xmm0
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x10273d48]
jbe 0x101293a4
mov dword [edi + 0x434], 0
jmp 0x101293a4
cmp esi, 0x3400
mov esi, dword [esp + 0xc]
jne 0x101293a4
push 0x3400
push esi
mov ecx, edi
call fcn.10122fa0
jmp 0x101293a4
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.0x101282d3.537920004
cmp byte [edi + 0xf8], 0x4d
lea esi, [edi + 0xf8]
je 0x10127bcd
push 7
push str.LEICA_M
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x10127bcd
cmp byte [esi], 0x53
je 0x10127ba4
push 7
push str.LEICA_S
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
jne case.0x101282d3.537920004
mov esi, dword [esp + 0xc]
mov eax, 0x10
mov word [edi + 0x3aa], ax
cmp byte [edi + 0x320], 0
je 0x101293a4
mov word [edi + 0x3a2], ax
jmp 0x101293a4
mov eax, dword [edi + 0x318]
mov ecx, 0xe
or eax, dword [edi + 0x31c]
mov esi, dword [esp + 0xc]
mov word [edi + 0x3aa], cx
je 0x101293a4
mov word [edi + 0x3a2], cx
jmp 0x101293a4
push 5
lea eax, [edi + 0xb8]
push str.NIKON
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x101280be
cmp esi, 0x1d
jne 0x10127c87
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov esi, eax
test esi, esi
je case.0x101282d3.537920004
cmp esi, 0xffffffff
je case.0x101282d3.537920004
push esi
call fcn.101e3298
add esp, 4
test eax, eax
je 0x10127c50
add esi, 0xffffffd0
jmp 0x10127c61
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub esi, eax
mov ecx, dword [esp + 0x58]
lea eax, [ecx + ecx*4]
lea ecx, [esi + eax*2]
mov dword [esp + 0x58], ecx
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov esi, eax
test esi, esi
jne 0x10127c35
jmp case.0x101282d3.537920004
cmp esi, 0x82
jne 0x10127cac
mov ecx, dword [edi + 0x49280]
lea eax, [edi + 0x560]
push 1
push dword [esp + 0x20]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
jmp case.0x101282d3.537920004
cmp esi, 0x83
jne 0x10127d4b
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 0x10127cd8
mov word [edi + 0x3ee], 0x4641
mov al, byte [edi + 0x307]
test al, 2
je 0x10127cf9
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 0x10127d0b
mov word [edi + 0x400], 0x5256
mov cl, byte [edi + 0x307]
test cl, 0x10
je 0x10127d22
mov eax, 7
mov word [edi + 0x3a2], ax
test cl, 0x20
je 0x10127d3d
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 case.0x101282d3.537920004
cmp esi, 0x84
jne 0x10127d94
mov esi, dword [esp + 0x24]
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 case.0x101282d3.537920004
cmp esi, 0x8b
jne 0x10127e22
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x49280]
mov byte [esp + 0x17], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
mov ecx, dword [edi + 0x49280]
mov byte [esp + 0x33], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
mov esi, dword [esp + 0xc]
test al, al
je 0x101293a4
movzx ecx, al
xor edx, edx
mov eax, 0xc
div ecx
movzx ecx, byte [esp + 0x33]
movzx edx, al
movzx eax, byte [esp + 0x17]
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 0x101293a4
cmp esi, 0x98
jne 0x10127f50
mov esi, 4
mov ecx, dword [edi + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esp + 0x40]
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
lea edx, [eax + edx*2]
mov dword [esp + 0x40], edx
sub esi, 1
jne 0x10127e33
cmp edx, 0x190
ja 0x10127eca
je 0x10127ebf
lea eax, [edx - 0x64]
cmp eax, 0x68
ja case.0x10127e73.102
movzx eax, byte [eax + 0x101293f4]
jmp dword [eax*4 + 0x101293e4]
mov eax, 9
mov ecx, 6
mov dword [esp + 0x20], eax
mov word [edi + 0x3a2], cx
jmp 0x10127f02
mov eax, 0xf
mov ecx, 6
mov dword [esp + 0x20], eax
mov word [edi + 0x3a2], cx
jmp 0x10127f02
mov eax, 0x10
mov ecx, 6
mov dword [esp + 0x20], eax
mov word [edi + 0x3a2], cx
jmp 0x10127f02
mov eax, 0x1cb
mov dword [esp + 0x20], eax
jmp 0x10127f02
mov eax, edx
sub eax, 0x191
je 0x10127ef3
sub eax, 1
je 0x10127ee8
sub eax, 1
jne case.0x10127e73.102
mov eax, 0x36f
mov dword [esp + 0x20], eax
jmp 0x10127f02
mov eax, 0x1fd
mov dword [esp + 0x20], eax
jmp 0x10127f02
mov eax, 0x24e
mov dword [esp + 0x20], eax
jmp 0x10127f02
mov eax, dword [esp + 0x20]
push eax
mov ecx, edi
call fcn.10135620
mov ecx, dword [edi + 0x49280]
mov esi, eax
push 1
push dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov edx, dword [ecx]
push esi
call dword [edx + 8]
cmp dword [esp + 0x40], 0xc9
jae case.0x101282d3.537920004
mov eax, dword [esp + 0x20]
test eax, eax
je case.0x101282d3.537920004
push eax
push esi
mov ecx, edi
call fcn.101166d0
xor esi, esi
mov dword [esp + 0x20], esi
jmp case.0x101282d3.537920004
cmp esi, 0xa7
jne 0x1012800e
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 + 0x10], eax
mov edx, dword [edx + 0x18]
call edx
mov ecx, dword [edi + 0x49280]
xor byte [esp + 0x10], al
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [edi + 0x49280]
xor al, byte [esp + 0x10]
mov byte [esp + 0x17], al
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
xor al, byte [esp + 0x17]
cmp dword [esp + 0x40], 0xc8
jbe case.0x101282d3.537920004
mov esi, dword [esp + 0x20]
test esi, esi
je case.0x101282d3.537920004
mov ecx, dword [esp + 0x58]
movzx ecx, cl
movzx eax, al
mov dh, byte [ecx + 0x10265e10]
xor ecx, ecx
mov ah, byte [eax + 0x10265f10]
test esi, esi
mov esi, dword [esp + 0x18]
je 0x10127ff5
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 + 0x20]
jb 0x10127fe7
push dword [esp + 0x20]
mov ecx, edi
push esi
call fcn.101166d0
mov dword [esp + 0x20], 0
jmp case.0x101282d3.537920004
cmp esi, 0x25
jne case.0x101282d3.537920004
movss xmm0, dword [edi + 0x24a58]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1012803c
ucomiss xmm0, dword [0x1039c510]
lahf
test ah, 0x44
jp case.0x101282d3.537920004
mov ecx, dword [edi + 0x49280]
lea edx, [esp + 0x17]
push 1
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
movzx eax, byte [esp + 0x17]
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 + 0x70]
cvttsd2si eax, qword [esp + 0x70]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x24a58], xmm0
mov eax, dword [esp + 0x88]
mov word [edi + 0x492d8], ax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
push 7
lea eax, [edi + 0xb8]
push str.OLYMPUS
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1012847f
cmp esi, 0x2010
jne 0x10128134
mov ecx, dword [edi + 0x49280]
push eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffffc
mov edx, dword [ecx]
push 0
push eax
call dword [edx + 0xc]
mov eax, dword [edi + 0x49280]
mov ecx, edi
push 0
mov esi, dword [eax]
call fcn.10114f90
add eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x49280]
push 0
push eax
call dword [esi + 0xc]
push dword [ebp + 0x10]
mov esi, dword [esp + 0x10]
mov ecx, edi
push 0x2010
push esi
call fcn.101271d0
jmp 0x101293a4
cmp esi, 0x20100201
ja 0x101282b2
je 0x101281fa
cmp esi, 0x207
je 0x10128162
cmp esi, 0x1002
je 0x101281b6
cmp esi, 0x20100100
jne case.0x101282d3.537920004
mov ecx, dword [edi + 0x49280]
lea edx, [esp + 0x70]
push 1
push dword [esp + 0x20]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, dword [esp + 0x71]
movzx ecx, byte [esp + 0x70]
test al, al
je 0x101281a9
lea edx, [esp + 0x71]
nop dword [eax]
movzx eax, al
lea edx, [edx + 1]
shl ecx, 8
or ecx, eax
mov al, byte [edx]
mov byte [esp + 0x7c], al
test al, al
mov eax, dword [esp + 0x7c]
jne 0x10128190
push ecx
mov ecx, edi
call fcn.10116a10
jmp case.0x101282d3.537920004
push dword [esp + 0x24]
mov ecx, edi
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 case.0x101282d3.537920004
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 + 0x50]
cdq
mov edi, eax
mov eax, edx
shld eax, edi, 8
mov ecx, dword [ecx + 0x49280]
mov dword [esp + 0x10], 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 + 0x10]
or esi, edi
mov edi, dword [esp + 0x50]
shld eax, esi, 8
mov dword [esp + 0x10], 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 + 0x10]
mov dword [edi + 0x318], eax
mov ecx, edx
mov dword [edi + 0x31c], edx
jne 0x10128282
cmp eax, 0x20000
jb 0x10128291
test ecx, ecx
jne 0x10128291
cmp eax, 0x4ffff
jbe case.0x101282d3.537920004
mov esi, dword [esp + 0xc]
and eax, 0x10
or eax, 0
je 0x101293a4
mov eax, 9
mov word [edi + 0x3a2], ax
jmp 0x101293a4
cmp esi, 0x20100301
ja 0x10128455
je 0x1012840e
add esi, 0xdfeffdfd
cmp esi, 7
ja case.0x101282d3.537920004
jmp dword [esi*4 + 0x10129460]
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.0x101282d3.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.0x101282d3.537920004
mov ecx, edi
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x410], xmm0
jmp case.0x101282d3.537920004
mov ecx, edi
call fcn.101178d0
mov esi, dword [esp + 0xc]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x10273dc4]
movss dword [edi + 0x414], xmm0
jbe 0x101293a4
mov eax, dword [edi + 0x410]
mov dword [edi + 0x414], eax
jmp 0x101293a4
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.0x101282d3.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 case.0x101282d3.537920004
cmp esi, 0x20100303
je 0x10128474
cmp esi, 0x20100403
jne case.0x101282d3.537920004
lea eax, [edi + 0x560]
jmp 0x10127a43
lea eax, [edi + 0x450]
jmp 0x10127a43
push 6
lea eax, [edi + 0xb8]
push str.PENTAX
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10128e5d
push 6
lea eax, [edi + 0xf8]
push str.PENTAX
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x10128e5d
push 7
lea eax, [edi + 0xb8]
push str.SAMSUNG
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x101284df
cmp dword [ebp + 0x10], 1
je 0x10128e5d
push 7
lea eax, [edi + 0xb8]
push str.SAMSUNG
push eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10128646
cmp dword [ebp + 0x10], 2
jne 0x10128646
cmp esi, 2
jne 0x10128572
mov ecx, edi
call fcn.10114f90
cmp eax, 0x2000
jne 0x1012852b
mov eax, 0x11
mov word [edi + 0x3aa], ax
jmp case.0x101282d3.537920004
push 7
lea eax, [edi + 0xf8]
push str.NX_mini
push eax
call fcn.101e8e00
mov esi, dword [esp + 0x18]
add esp, 0xc
test eax, eax
jne 0x1012855a
mov eax, 0x13
mov word [edi + 0x3aa], ax
jmp 0x101293a4
mov eax, 0x63
mov word [edi + 0x3aa], ax
mov word [edi + 0x3a2], ax
jmp 0x101293a4
cmp esi, 3
jne 0x1012858f
mov ecx, edi
call fcn.10114f90
mov dword [edi + 0x492cc], eax
mov dword [edi + 0x3a4], eax
jmp case.0x101282d3.537920004
cmp esi, 0xa003
jne 0x101285cb
mov ecx, edi
call fcn.101178d0
mov esi, dword [esp + 0xc]
movzx eax, ax
cdq
mov dword [edi + 0x318], eax
or eax, edx
mov dword [edi + 0x31c], edx
je 0x101293a4
mov eax, 0x11
mov word [edi + 0x3a2], ax
jmp 0x101293a4
cmp esi, 0xa019
jne 0x101285e9
push dword [esp + 0x24]
mov ecx, edi
call fcn.10117990
fstp dword [edi + 0x434]
jmp case.0x101282d3.537920004
cmp esi, 0xa01a
jne case.0x101282d3.537920004
mov ecx, edi
call fcn.10114f90
movss xmm1, dword [0x1039c4a8]
mov esi, dword [esp + 0xc]
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 0x101293a4
mulss xmm0, xmm1
movss dword [edi + 0x5e4], xmm0
jmp 0x101293a4
push 4
lea eax, [edi + 0xb8]
push str.SONY
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x1012870c
push 6
lea eax, [edi + 0xb8]
push str.Konica
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x1012870c
push 7
lea eax, [edi + 0xb8]
push str.Minolta
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x1012870c
push 0xa
lea eax, [edi + 0xb8]
push str.Hasselblad
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
jne case.0x101282d3.537920004
push 7
lea eax, [edi + 0xf8]
push str.Stellar
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x1012870c
push 5
lea eax, [edi + 0xf8]
push str.Lunar
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
je 0x1012870c
push 2
lea eax, [edi + 0xf8]
push 0x10267770
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
jne case.0x101282d3.537920004
cmp esi, 0xb001
jne 0x1012878d
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 + 0x44], 0
je 0x10128754
push dword [edi + 0x492cc]
mov esi, dword [esp + 0x60]
mov ecx, edi
push esi
call fcn.10117560
push esi
mov ecx, edi
call fcn.10135700
xor eax, eax
mov dword [esp + 0x44], eax
cmp word [esp + 0x4c], 0
je case.0x101282d3.537920004
cmp word [edi + 0x3aa], 2
jne 0x10128775
push dword [esp + 0x48]
mov ecx, edi
call fcn.10117840
push dword [esp + 0x48]
mov ecx, edi
call fcn.10135700
mov dword [esp + 0x4c], 0
jmp case.0x101282d3.537920004
cmp esi, 0x10
jne 0x10128aa4
push 9
push 0x10267774
lea esi, [edi + 0xf8]
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je case.0x101282d3.537920004
push 6
push str.NEX_5C
push esi
call fcn.101f6843
add esp, 0xc
test eax, eax
je case.0x101282d3.537920004
push 4
lea eax, [edi + 0xb8]
push str.SONY
push eax
call fcn.101f6843
add esp, 0xc
test eax, eax
jne case.0x101282d3.537920004
mov eax, dword [esp + 0x1c]
cmp eax, 0x170
je 0x10128815
cmp eax, 0x1566
je 0x10128815
cmp eax, 0x1582
je 0x10128815
cmp eax, 0x17e6
je 0x10128815
cmp eax, 0x3c00
jne case.0x101282d3.537920004
push eax
mov ecx, edi
call fcn.10135620
mov ecx, dword [edi + 0x49280]
mov esi, eax
push 1
push dword [esp + 0x20]
mov dword [esp + 0x20], esi
mov eax, dword [ecx]
push esi
call dword [eax + 8]
cmp dword [esi], 0xffffffff
jne 0x10128844
cmp dword [esi + 4], 0xffffffff
je 0x10128a97
cmp dword [esi], 0
jne 0x10128853
cmp dword [esi + 4], 0
je 0x10128a97
mov eax, dword [esp + 0x1c]
cmp eax, 0x170
je 0x1012897f
cmp eax, 0x1566
je 0x1012897f
movzx eax, byte [esi + 6]
mov dl, byte [esi + 2]
mov cl, byte [esi + 1]
push eax
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 4]
push eax
movzx eax, byte [esi + 3]
push eax
push edx
push ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x28], ecx
call fcn.1012fa90
add esp, 0x18
test ax, ax
je 0x10128a97
mov ecx, dword [esp + 0x10]
mov al, cl
or al, dl
je 0x101288d8
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 + 0x410], xmm0
mov dl, byte [esi + 3]
mov cl, byte [esi + 4]
mov al, dl
or al, cl
mov dword [esp + 0x28], ecx
je 0x10128914
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 0x10128944
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 0x1012894c
movss xmm1, dword [0x1039c4a8]
mov al, byte [esi + 6]
test al, al
je 0x10128972
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]
push eax
movzx eax, byte [esi]
jmp 0x10128a8f
movzx eax, byte [esi + 7]
mov dl, byte [esi + 3]
mov cl, byte [esi]
push eax
movzx eax, byte [esi + 4]
push eax
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 2]
push eax
push edx
push ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], ecx
call fcn.1012fa90
add esp, 0x18
test ax, ax
je 0x10128a97
mov ecx, dword [esp + 0x28]
mov al, cl
or al, dl
je 0x101289e9
push ecx
call fcn.1012f2f0
push dword [esp + 0x14]
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 + 2]
mov cl, byte [esi + 5]
mov al, dl
or al, cl
mov dword [esp + 0x28], ecx
je 0x10128a25
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 + 4]
test al, al
je 0x10128a55
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 0x10128a5d
movss xmm1, dword [0x1039c4a8]
cmp byte [esi + 4], 0
je 0x10128a86
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]
push eax
movzx eax, byte [esi + 1]
push eax
mov ecx, edi
call fcn.10117380
push esi
mov ecx, edi
call fcn.10135700
jmp case.0x101282d3.537920004
cmp esi, 0x105
jne 0x10128ac8
mov ecx, edi
call fcn.101178d0
movzx eax, ax
cdq
mov dword [edi + 0x448], eax
mov dword [edi + 0x44c], edx
jmp case.0x101282d3.537920004
cmp esi, 0x114
jne 0x10128beb
push dword [esp + 0x1c]
mov ecx, edi
call fcn.10135620
mov ecx, dword [edi + 0x49280]
mov esi, eax
push 1
push dword [esp + 0x20]
mov dword [esp + 0x20], esi
mov eax, dword [ecx]
push esi
call dword [eax + 8]
mov eax, dword [esp + 0x1c]
cmp eax, 0x16c
ja 0x10128b79
je 0x10128b14
sub eax, 0x118
je 0x10128b14
sub eax, 0x34
jne 0x10128bde
mov cl, byte [esi + 2]
mov dl, byte [esi + 3]
mov al, cl
or al, dl
je 0x10128bde
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
add esp, 8
mov ecx, edi
fstp dword [edi + 0x434]
push esi
call fcn.10135700
jmp case.0x101282d3.537920004
cmp eax, 0x600
je 0x10128b87
cmp eax, 0x800
jne 0x10128bde
movzx eax, byte [esi + 0x3f7]
mov ecx, edi
push eax
movzx eax, byte [esi + 0x3f8]
push eax
call fcn.10117200
cmp word [edi + 0x3a2], 3
je 0x10128bde
movzx eax, byte [esi + 0x99]
sub eax, 0x10
je 0x10128bd2
sub eax, 1
jne 0x10128bde
mov eax, 2
mov ecx, edi
push esi
mov word [edi + 0x3a2], ax
call fcn.10135700
jmp case.0x101282d3.537920004
mov eax, 1
mov word [edi + 0x3a2], ax
push esi
mov ecx, edi
call fcn.10135700
jmp case.0x101282d3.537920004
cmp esi, 0x9050
jne 0x10128c4a
mov esi, dword [esp + 0x1c]
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 + 0x68], eax
mov dword [esp + 0x50], 1
call dword [edx + 8]
mov eax, dword [edi + 0x3a4]
test eax, eax
je case.0x101282d3.537920004
mov esi, dword [esp + 0x5c]
mov ecx, edi
push eax
push esi
call fcn.10117560
push esi
mov ecx, edi
call fcn.10135700
mov dword [esp + 0x44], 0
jmp case.0x101282d3.537920004
cmp esi, 0x940c
jne 0x10128cb5
mov esi, dword [esp + 0x1c]
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 + 0x54], eax
mov dword [esp + 0x58], 1
call dword [edx + 8]
cmp dword [edi + 0x3a4], 0
je case.0x101282d3.537920004
cmp word [edi + 0x3aa], 2
jne case.0x101282d3.537920004
mov esi, dword [esp + 0x48]
mov ecx, edi
push esi
call fcn.10117840
push esi
mov ecx, edi
call fcn.10135700
mov dword [esp + 0x4c], 0
jmp case.0x101282d3.537920004
cmp esi, 0xb027
je 0x10128cc9
cmp esi, 0x10c
jne 0x10128d50
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
cmp eax, 0xffffffff
jne 0x10128d50
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 0x10128d04
cmp eax, 0xef00
jbe 0x10128d2f
test ecx, ecx
ja 0x10128d2f
jb 0x10128d0f
cmp eax, 0xffff
jae 0x10128d2f
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
mov esi, dword [esp + 0xc]
jne 0x101293a4
mov eax, 1
mov word [edi + 0x3aa], ax
jmp 0x101293a4
cmp esi, 0xb02a
jne case.0x101282d3.537920004
mov esi, dword [esp + 0x1c]
mov ecx, edi
push esi
call fcn.10135620
mov ecx, dword [edi + 0x49280]
mov dword [esp + 0x18], eax
push 1
push esi
mov eax, dword [ecx]
mov esi, dword [esp + 0x20]
push esi
call dword [eax + 8]
movzx eax, byte [esi + 6]
mov dl, byte [esi + 2]
mov cl, byte [esi + 1]
push eax
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 4]
push eax
movzx eax, byte [esi + 3]
push eax
push edx
push ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], ecx
call fcn.1012fa90
add esp, 0x18
test ax, ax
je 0x10128a97
mov ecx, dword [esp + 0x28]
mov al, cl
or al, dl
je 0x10128dea
push ecx
call fcn.1012f2f0
push dword [esp + 0x14]
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 0x10128e26
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 0x10128944
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 0x1012894c
cmp esi, 5
jne 0x10128eb0
mov ecx, edi
call fcn.10114f90
push eax
mov ecx, edi
mov dword [edi + 0x492cc], eax
call fcn.10116b00
cmp dword [ebp + 0x10], 1
jne case.0x101282d3.537920004
mov eax, dword [edi + 0x492cc]
cmp eax, 0x12f66
je 0x10128ea0
cmp eax, 0x12f7a
je 0x10128ea0
cmp eax, 0x12ee4
jne case.0x101282d3.537920004
mov esi, dword [esp + 0xc]
add esi, 0xa
mov dword [esp + 0xc], esi
jmp 0x101293a4
cmp esi, 0x13
jne 0x10128edb
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 case.0x101282d3.537920004
cmp esi, 0x1d
jne 0x10128f14
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 case.0x101282d3.537920004
cmp esi, 0x3f
jne 0x10128f4c
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 case.0x101282d3.537920004
cmp esi, 0x207
jne 0x10129302
push dword [esp + 0x1c]
mov ecx, edi
call fcn.10135620
mov ecx, dword [edi + 0x49280]
mov esi, eax
push 1
push dword [esp + 0x20]
mov dword [esp + 0x20], esi
mov eax, dword [ecx]
push esi
call dword [eax + 8]
mov eax, dword [edi + 0x3a4]
cmp eax, 0x12b9c
jb 0x101290a0
je 0x101290a0
cmp eax, 0x12b9d
je 0x101290a0
cmp eax, 0x12ba2
jne 0x10128fb7
mov al, byte [esi + 0x14]
test al, al
je 0x101290a0
cmp al, 0xff
je 0x101290a0
mov eax, dword [esp + 0x1c]
add eax, 0xffffffb0
cmp eax, 0x30
ja case.0x10128fce.81
movzx eax, byte [eax + 0x10129490]
jmp dword [eax*4 + 0x10129480]
mov dword [esp + 0x10], 0xd
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
cmp eax, 0xffffffff
jne 0x101290e5
mov al, byte [esi + 1]
and al, 0xf
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 3]
cdq
add ecx, eax
mov eax, dword [esp + 0x18]
adc esi, edx
movzx eax, byte [eax + 4]
jmp 0x101290c9
mov dword [esp + 0x10], 0xc
jmp 0x10128fdd
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x10], 0xf
cmp eax, 0xffffffff
jne 0x101290e5
mov al, byte [esi + 1]
and al, 0xf
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 4]
cdq
add ecx, eax
mov eax, dword [esp + 0x18]
adc esi, edx
movzx eax, byte [eax + 5]
jmp 0x101290c9
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x10], 4
cmp eax, 0xffffffff
jne 0x101290e5
mov al, byte [esi]
and al, 0xf
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 2]
cdq
add ecx, eax
mov eax, dword [esp + 0x18]
adc esi, edx
movzx eax, byte [eax + 3]
jmp 0x101290c9
mov eax, dword [edi + 0x318]
and eax, dword [edi + 0x31c]
mov dword [esp + 0x10], 3
cmp eax, 0xffffffff
jne 0x101290e5
movzx eax, byte [esi]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x18]
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 esi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
movzx ecx, ax
mov dword [esp + 0x10], ecx
mov al, byte [ecx + esi + 9]
test al, al
je 0x1012916c
movss xmm0, dword [edi + 0x430]
movss xmm1, dword [0x1039bf78]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x1039ccb0]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1012916c
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 + 0x18]
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 [ecx + esi + 0xa]
test al, 0xf0
je 0x101291ab
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 [ecx + esi + 0xa]
test al, 0xf
je 0x101291ed
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 0x10129283
cmp eax, 0x12e76
je 0x10128a97
cmp eax, 0x12f70
je 0x10129283
movzx eax, byte [ecx + esi]
and eax, 6
jmp dword [eax*4 + 0x101294c4]
cmp eax, 0x12e76
je 0x10128a97
mov al, byte [ecx + esi + 0xf]
cmp al, 1
jbe 0x10128a97
movss xmm0, dword [edi + 0x438]
movss xmm1, dword [0x10273c68]
cvtps2pd xmm0, xmm0
andps xmm0, xmmword [0x1039ccb0]
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x10128a97
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
add esp, 8
mov ecx, edi
fstp dword [edi + 0x438]
push esi
call fcn.10135700
jmp case.0x101282d3.537920004
cmp esi, 0x239
jne case.0x101282d3.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 0x10129338
mov ax, word [0x10267740]
lea edx, [esp + 0x8c]
mov ecx, dword [esp + 0x50]
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 + 0x8c]
mov ecx, edx
mov dword [esp + 0x28], ecx
mov al, byte [edx]
inc edx
test al, al
jne 0x10129373
sub edx, ecx
dec esi
nop dword [eax]
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x10129380
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 + 0x50]
mov esi, dword [esp + 0xc]
mov ecx, dword [edi + 0x49280]
push 0
push 0
push dword [esp + 0x74]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x101280a8
mov edx, dword [esp + 0x84]
jmp 0x10127630