Function at 0x1005f240
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], ecx
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, edx
mov dword [ebx], 0
mov dword [eax], 0
test ecx, ecx
je 0x1005f2de
mov eax, dword [ecx]
mov esi, dword [eax + 0x11c]
cmp dword [esi + 4], 0
je 0x1005f2de
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
push eax
lea eax, [esp + 0x18]
mov ecx, esi
push eax
call fcn.100045d0
mov eax, dword [esp + 0x14]
cmp eax, dword [esi]
je 0x1005f2de
mov esi, dword [eax + 0x14]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x38], 0xf
push eax
mov ecx, esi
mov dword [esp + 0x38], 4
mov dword [esp + 0x28], 0x656b614d
mov byte [esp + 0x2c], 0
call fcn.10004420
mov eax, dword [esp + 0x14]
cmp eax, dword [esi]
je 0x1005f2de
mov eax, dword [eax + 0x28]
test eax, eax
je 0x1005f2de
mov eax, dword [eax]
mov esi, dword [eax + 0x14]
jmp 0x1005f2e0
xor esi, esi
mov ecx, 0x4d594c4f
mov edx, 0x50
cmp ecx, dword [edi]
jne 0x1005f31a
cmp dx, word [edi + 4]
jne 0x1005f302
mov eax, 1
cmp al, byte [edi + 6]
je 0x1005fa25
cmp ecx, dword [edi]
jne 0x1005f31a
cmp dx, word [edi + 4]
jne 0x1005f31a
mov eax, 2
cmp al, byte [edi + 6]
je 0x1005fa25
mov eax, 0x4f535045
cmp eax, dword [edi]
jne 0x1005f331
mov eax, 0x4e
cmp al, byte [edi + 4]
je 0x1005fa25
cmp dword [edi], 0x41464741
je 0x1005fa25
cmp ecx, dword [edi]
jne 0x1005f36b
mov eax, 0x535550
cmp eax, dword [edi + 4]
jne 0x1005f36b
mov eax, 0x34949
cmp eax, dword [edi + 8]
jne 0x1005f36b
mov edx, dword [ebp + 0x10]
mov dword [ebx], 0
mov dword [edx], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x6f6b694e
cmp eax, dword [edi]
jne 0x1005f3c5
mov eax, 0x6e
cmp al, byte [edi + 4]
jne 0x1005f3c5
mov al, byte [edi + 6]
mov edx, dword [ebp + 0x10]
cmp al, 1
jne 0x1005f39b
mov dword [edx], 0xb
mov dword [ebx], 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 2
jne 0x1005f3b2
mov dword [edx], 0xd
mov dword [ebx], 0x12
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx], 0
mov dword [edx], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x1005f576
mov edx, str.NIKON
mov ecx, 5
sub edx, esi
mov dword [esp + 0x10], ecx
mov eax, esi
mov dword [esp + 0x18], edx
mov bh, byte [edx + eax]
mov bl, byte [eax]
inc eax
mov dword [esp + 0x14], eax
test bh, bh
je 0x1005f42b
test bl, bl
je 0x1005f42b
cmp bh, bl
je 0x1005f422
movzx eax, bh
push eax
call fcn.10270e64
movzx ecx, bl
mov bh, al
push ecx
call fcn.10270e64
mov bl, al
add esp, 8
cmp bh, bl
jne 0x1005f42b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
sub ecx, 1
mov dword [esp + 0x10], ecx
jne 0x1005f3e3
movzx ecx, bl
movzx eax, bh
sub eax, ecx
jne 0x1005f44a
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [edx], 0xc
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.Canon
mov ecx, 5
sub edx, esi
mov dword [esp + 0x10], ecx
mov eax, esi
mov dword [esp + 0x14], edx
mov bh, byte [edx + eax]
mov bl, byte [eax]
inc eax
mov dword [esp + 0x18], eax
test bh, bh
je 0x1005f4a8
test bl, bl
je 0x1005f4a8
cmp bh, bl
je 0x1005f49f
movzx eax, bh
push eax
call fcn.10270e64
movzx ecx, bl
mov bh, al
push ecx
call fcn.10270e64
mov bl, al
add esp, 8
cmp bh, bl
jne 0x1005f4a8
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
sub ecx, 1
mov dword [esp + 0x10], ecx
jne 0x1005f460
movzx ecx, bl
movzx eax, bh
sub eax, ecx
jne 0x1005f4c7
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [edx], 5
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.Casio
mov ecx, 5
sub edx, esi
mov dword [esp + 0x10], ecx
mov eax, esi
mov dword [esp + 0x14], edx
nop dword [eax]
mov bh, byte [edx + eax]
mov bl, byte [eax]
inc eax
mov dword [esp + 0x18], eax
test bh, bh
je 0x1005f528
test bl, bl
je 0x1005f528
cmp bh, bl
je 0x1005f51f
movzx eax, bh
push eax
call fcn.10270e64
movzx ecx, bl
mov bh, al
push ecx
call fcn.10270e64
mov bl, al
add esp, 8
cmp bh, bl
jne 0x1005f528
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
sub ecx, 1
mov dword [esp + 0x10], ecx
jne 0x1005f4e0
movzx ecx, bl
movzx eax, bh
sub eax, ecx
jne 0x1005f576
mov eax, 0x435651
cmp eax, dword [edi]
jne 0x1005f55e
xor eax, eax
cmp ax, word [edi + 4]
jne 0x1005f55e
mov edx, dword [ebp + 0x10]
mov ecx, 7
mov eax, 6
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov ecx, 6
xor eax, eax
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x494a5546
cmp eax, dword [edi]
jne 0x1005f589
mov eax, 0x4d4c4946
cmp eax, dword [edi + 4]
je 0x1005f5f9
test esi, esi
je 0x1005f619
mov edx, str.Fujifilm
mov ecx, 8
sub edx, esi
mov dword [esp + 0x10], ecx
mov eax, esi
mov dword [esp + 0x14], edx
mov bh, byte [edx + eax]
mov bl, byte [eax]
inc eax
mov dword [esp + 0x18], eax
test bh, bh
je 0x1005f5ef
test bl, bl
je 0x1005f5ef
cmp bh, bl
je 0x1005f5e6
movzx eax, bh
push eax
call fcn.10270e64
movzx ecx, bl
mov bh, al
push ecx
call fcn.10270e64
mov bl, al
add esp, 8
cmp bh, bl
jne 0x1005f5ef
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
sub ecx, 1
mov dword [esp + 0x10], ecx
jne 0x1005f5a7
movzx ecx, bl
movzx eax, bh
sub eax, ecx
jne 0x1005f619
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov dword [edx], 8
lea edx, [edi + 8]
call fcn.1005f1f0
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str.KYOCERA
mov edx, edi
mov ebx, 0x12
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1005f657
add ecx, 4
add edx, 4
sub ebx, 4
jae 0x1005f625
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x1005f657
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [edx], 9
mov dword [ecx], 0x16
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x1005f6dc
mov edx, str.Minolta
mov ecx, 7
sub edx, esi
mov dword [esp + 0x10], ecx
mov eax, esi
mov dword [esp + 0x14], edx
mov bh, byte [edx + eax]
mov bl, byte [eax]
inc eax
mov dword [esp + 0x18], eax
test bh, bh
je 0x1005f6bd
test bl, bl
je 0x1005f6bd
cmp bh, bl
je 0x1005f6b4
movzx eax, bh
push eax
call fcn.10270e64
movzx ecx, bl
mov bh, al
push ecx
call fcn.10270e64
mov bl, al
add esp, 8
cmp bh, bl
jne 0x1005f6bd
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
sub ecx, 1
mov dword [esp + 0x10], ecx
jne 0x1005f675
movzx ecx, bl
movzx eax, bh
sub eax, ecx
jne 0x1005f6dc
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [edx], 0xa
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x616e6150
cmp eax, dword [edi]
jne 0x1005f712
mov eax, 0x696e6f73
cmp eax, dword [edi + 4]
jne 0x1005f712
mov eax, 0x63
cmp eax, dword [edi + 8]
jne 0x1005f712
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [edx], 0xf
mov dword [ecx], 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x1005f8be
mov edx, str.LEICA
mov ecx, 5
sub edx, esi
mov dword [esp + 0x10], ecx
mov eax, esi
mov dword [esp + 0x14], edx
mov bh, byte [edx + eax]
mov bl, byte [eax]
inc eax
mov dword [esp + 0x18], eax
test bh, bh
je 0x1005f778
test bl, bl
je 0x1005f778
cmp bh, bl
je 0x1005f76f
movzx eax, bh
push eax
call fcn.10270e64
movzx ecx, bl
mov bh, al
push ecx
call fcn.10270e64
mov bl, al
add esp, 8
cmp bh, bl
jne 0x1005f778
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
sub ecx, 1
mov dword [esp + 0x10], ecx
jne 0x1005f730
movzx ecx, bl
movzx eax, bh
sub eax, ecx
jne 0x1005f7b6
mov eax, 0x4349454c
cmp eax, dword [edi]
jne 0x1005fa34
mov eax, 0x41
cmp eax, dword [edi + 4]
jne 0x1005fa34
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ecx], 0
mov dword [edx], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.Pentax
mov ecx, 6
sub edx, esi
mov dword [esp + 0x10], ecx
mov eax, esi
mov dword [esp + 0x14], edx
nop dword [eax]
mov bh, byte [edx + eax]
mov bl, byte [eax]
inc eax
mov dword [esp + 0x18], eax
test bh, bh
je 0x1005f818
test bl, bl
je 0x1005f818
cmp bh, bl
je 0x1005f80f
movzx eax, bh
push eax
call fcn.10270e64
movzx ecx, bl
mov bh, al
push ecx
call fcn.10270e64
mov bl, al
add esp, 8
cmp bh, bl
jne 0x1005f818
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
sub ecx, 1
mov dword [esp + 0x10], ecx
jne 0x1005f7d0
movzx ecx, bl
movzx eax, bh
sub eax, ecx
je 0x1005f883
mov ecx, str.Asahi
mov eax, 5
sub ecx, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
mov bh, byte [ecx + esi]
lea esi, [esi + 1]
mov bl, byte [esi - 1]
test bh, bh
je 0x1005f879
test bl, bl
je 0x1005f879
cmp bh, bl
je 0x1005f870
movzx eax, bh
push eax
call fcn.10270e64
movzx ecx, bl
mov bh, al
push ecx
call fcn.10270e64
mov bl, al
add esp, 8
cmp bh, bl
jne 0x1005f879
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
sub eax, 1
mov dword [esp + 0x10], eax
jne 0x1005f836
movzx ecx, bl
movzx eax, bh
sub eax, ecx
jne 0x1005f8be
cmp dword [edi], 0x434f41
jne 0x1005f8a6
mov edx, dword [ebp + 0x10]
mov ecx, 0x11
mov eax, 6
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov ecx, 0x10
xor eax, eax
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x594e4f53
mov edx, 0x20
cmp ecx, dword [edi]
jne 0x1005f907
mov eax, 0x4d414320
cmp eax, dword [edi + 4]
jne 0x1005f8db
cmp edx, dword [edi + 8]
je 0x1005f8ee
cmp ecx, dword [edi]
jne 0x1005f907
mov eax, 0x43534420
cmp eax, dword [edi + 4]
jne 0x1005f907
cmp edx, dword [edi + 8]
jne 0x1005f907
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [edx], 0x12
mov dword [ecx], 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x4d474953
cmp eax, dword [edi]
jne 0x1005f91a
mov eax, 0x41
cmp eax, dword [edi + 4]
je 0x1005f935
mov eax, 0x45564f46
cmp eax, dword [edi]
jne 0x1005fa34
mov eax, 0x4e4f
cmp eax, dword [edi + 4]
jne 0x1005fa34
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1005fa0c
mov eax, dword [eax]
mov esi, dword [eax + 0x11c]
cmp dword [esi + 4], 0
je 0x1005fa0c
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 1
push eax
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.100045d0
mov eax, dword [esp + 0x18]
cmp eax, dword [esi]
je 0x1005fa0c
mov edi, dword [eax + 0x14]
mov ebx, 0xf
mov al, byte [0x103e98c0]
mov ecx, edi
mov esi, dword [str.Model]
mov byte [esp + 0x24], al
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x24], 0
push eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], 5
mov dword [esp + 0x28], esi
mov byte [esp + 0x2d], 0
call fcn.10004420
mov eax, dword [esp + 0x1c]
cmp eax, dword [edi]
je 0x1005fa0c
mov eax, dword [eax + 0x28]
test eax, eax
je 0x1005fa0c
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1005fa0c
mov ecx, 0x4d474953
cmp ecx, dword [eax]
jne 0x1005fa0c
mov ecx, 0x44532041
cmp ecx, dword [eax + 4]
jne 0x1005fa0c
mov ecx, 0x31
cmp cx, word [eax + 8]
jne 0x1005fa0c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ecx], 0xa
mov dword [edx], 0x13
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ecx], 0xa
mov dword [edx], 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov dword [edx], 0xe
mov dword [ebx], 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret