Function at 0x41e410
Capabilities:
Authenticate hmac
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
mov eax, dword [0x4596ac]
xor eax, esp
mov dword [esp + 0xb0], eax
fldz
push ebx
push esi
fst dword [0x466124]
push edi
fst dword [0x486304]
or eax, 0xffffffff
fst dword [0x465f58]
xor ebx, ebx
fstp dword [0x4ac40c]
push 0x80
xor ecx, ecx
mov dword [0x466120], eax
mov dword [0x486340], eax
mov dword [0x4ac408], eax
xor eax, eax
xor edx, edx
push ebx
push 0x465f80
mov word [0x4862e8], ax
mov dword [0x466100], ebx
mov word [0x465f64], cx
mov word [0x4ac484], dx
mov word [0x465d20], ax
mov word [0x4660a0], cx
mov word [0x4ac498], dx
mov word [0x466040], ax
mov word [0x4ac486], cx
mov dword [0x466044], ebx
mov byte [0x4ac440], al
mov byte [0x466060], al
mov byte [0x4ac3c0], al
mov byte [0x466000], al
mov byte [0x465d40], al
mov byte [0x4ac420], al
mov dword [0x465c50], ebx
call fcn.00436440
add esp, 0xc
push 0x80
push ebx
push 0x465ca0
call fcn.00436440
fld1
xor eax, eax
fstp qword [0x4660a8]
fldz
mov word [0x465f5c], ax
mov eax, 0x7fffffff
xor edx, edx
mov esi, 1
add esp, 0xc
mov dword [0x465d24], eax
mov dword [0x4ac49c], eax
mov word [0x4660b8], dx
mov dword [0x465c5c], ebx
mov dword [0x465c44], ebx
mov dword [0x4ac490], ebx
mov dword [0x4862f0], ebx
mov dword [0x486300], 0x425570
mov dword [0x4ac398], ebx
mov dword [0x465f6c], ebx
mov dword [0x465d28], ebx
mov dword [0x4862fc], ebx
mov dword [0x465f60], ebx
mov dword [0x4ac400], ebx
mov dword [0x465f44], ebx
mov dword [0x4ac488], ebx
mov dword [0x4862f4], ebx
mov dword [0x466128], ebx
mov dword [0x4660a4], ebx
mov dword [0x486168], ebx
mov dword [0x48616c], ebx
mov dword [0x4ac494], ebx
mov dword [0x486140], ebx
mov dword [0x4660b4], ebx
mov dword [0x4ac48c], ebx
mov dword [0x465f54], esi
mov dword [0x4ac3a0], esi
xor eax, eax
xor ecx, ecx
cmp eax, esi
sete cl
cmp eax, 3
sbb edx, edx
neg edx
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
mov dword [esp + 0x40], edx
lea ecx, [eax*4 + 0x465c60]
fstp dword [eax*4 + 0x466110]
mov edx, 3
fild dword [esp + 0x40]
fstp dword [eax*4 + 0x486150]
fst dword [ecx]
add ecx, 0x10
sub edx, esi
jne 0x41e5e9
xor ecx, ecx
cmp eax, ebx
sete cl
cmp eax, esi
sete dl
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
xor ecx, ecx
cmp eax, 2
sete cl
fstp dword [eax*4 + 0x4ac360]
mov dword [esp + 0x40], edx
fild dword [esp + 0x40]
fstp dword [eax*4 + 0x4ac370]
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
fstp dword [eax*4 + 0x4ac380]
add eax, esi
cmp eax, 4
jb 0x41e5b1
fstp st(0)
mov dword [0x465c58], 3
mov dword [0x48633c], 0xc
xor eax, eax
jmp 0x41e660
mov word [eax*2 + 0x466140], ax
add eax, esi
cmp eax, 0x4000
jb 0x41e660
mov edx, dword [0x486344]
push edx
push 2
lea eax, [esp + 0x4c]
push esi
push eax
mov byte [esp + 0x54], 0xff
mov byte [esp + 0x55], 0xff
call fcn.00435763
movzx dx, byte [esp + 0x55]
mov ecx, 0x4949
add esp, 0x10
cmp word [0x465c48], cx
jne 0x41e6b8
movzx ax, byte [esp + 0x44]
shl dx, 8
or dx, ax
movzx eax, dx
jmp 0x41e6c8
movzx cx, byte [esp + 0x44]
shl cx, 8
or cx, dx
movzx eax, cx
mov word [0x465c48], ax
mov eax, dword [0x486344]
push eax
push 4
lea ecx, [esp + 0x48]
push esi
push ecx
mov byte [esp + 0x50], 0xff
mov byte [esp + 0x51], 0xff
mov byte [esp + 0x52], 0xff
mov byte [esp + 0x53], 0xff
call fcn.00435763
mov edx, 0x4949
add esp, 0x10
cmp word [0x465c48], dx
jne 0x41e71c
movzx esi, byte [esp + 0x43]
movzx eax, byte [esp + 0x42]
movzx ecx, byte [esp + 0x41]
movzx edx, byte [esp + 0x40]
jmp 0x41e730
movzx esi, byte [esp + 0x40]
movzx eax, byte [esp + 0x41]
movzx ecx, byte [esp + 0x42]
movzx edx, byte [esp + 0x43]
shl esi, 8
or esi, eax
mov eax, dword [0x486344]
shl esi, 8
or esi, ecx
push ebx
push ebx
shl esi, 8
push eax
or esi, edx
call fcn.00435f77
mov ecx, dword [0x486344]
add esp, 0xc
push ecx
push 0x20
lea edx, [esp + 0xa4]
push 1
push edx
call fcn.00435763
mov eax, dword [0x486344]
push 2
push ebx
push eax
call fcn.00435f77
mov ecx, dword [0x486344]
add esp, 0x1c
push ecx
call fcn.00435c4a
add esp, 4
mov dword [esp + 0x40], eax
push str.MMMM
lea eax, [esp + 0xa0]
call fcn.00401040
add esp, 4
mov edi, 0x61616161
cmp eax, ebx
jne 0x41ee02
push str.IIII
lea eax, [esp + 0xa0]
call fcn.00401040
add esp, 4
cmp eax, ebx
jne 0x41ee02
mov ax, word [0x465c48]
mov edx, 0x4949
cmp ax, dx
je 0x41edbb
mov ecx, 0x4d4d
cmp ax, cx
je 0x41edbb
mov ebx, dword [esp + 0x9c]
cmp ebx, dword [0x45c414]
jne 0x41e86d
mov edx, dword [esp + 0xa2]
cmp edx, dword [0x45c41c]
jne 0x41e86d
mov eax, dword [0x486344]
push 0
push 4
push eax
call fcn.00435f77
add esp, 0xc
call fcn.00401190
mov ecx, dword [0x486344]
movzx eax, ax
add eax, 4
push 0
push eax
push ecx
mov dword [0x465d28], eax
call fcn.00435f77
mov edx, dword [0x486344]
add esp, 0xc
push edx
call fcn.004361ad
add esp, 4
cmp eax, 0xff
je 0x41e85c
mov eax, 0xc
call fcn.0041ab00
mov dword [0x465c44], 0
xor ebx, ebx
jmp 0x41ee21
mov eax, dword [esp + 0xb5]
cmp eax, dword [str.ARECOYK]
jne 0x41e963
mov cl, byte [0x45c428]
cmp cl, byte [esp + 0xb9]
jne 0x41e963
mov dl, byte [0x45c429]
cmp dl, byte [esp + 0xba]
jne 0x41e963
mov al, byte [0x45c42a]
cmp al, byte [esp + 0xbb]
jne 0x41e963
mov ecx, dword [str.Contax]
mov dx, word [0x45c430]
mov al, byte [0x45c432]
mov dword [0x4ac3c0], ecx
mov ecx, dword [0x45c434]
push 0
mov dword [0x466060], ecx
mov ecx, dword [0x486344]
mov word [0x4ac3c4], dx
mov edx, dword [0x45c438]
mov byte [0x4ac3c6], al
mov ax, word [0x45c43c]
push 0x21
push ecx
mov dword [0x466064], edx
mov word [0x466068], ax
call fcn.00435f77
add esp, 0xc
push 1
call fcn.004179a0
mov edx, dword [0x486344]
add esp, 4
push 0
push 0x3c
push edx
call fcn.00435f77
add esp, 0xc
xor esi, esi
call fcn.00401240
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
test eax, eax
jge 0x41e949
fadd dword [0x451808]
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
fstp dword [eax*4 + 0x466110]
cmp esi, 4
jb 0x41e932
xor ebx, ebx
jmp 0x41ee21
mov ecx, 0x45c440
lea eax, [esp + 0x9c]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41e990
test dl, dl
je 0x41e98c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41e990
add eax, 2
add ecx, 2
test dl, dl
jne 0x41e970
xor eax, eax
jmp 0x41e995
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41e9f0
mov ecx, dword [str.Logitech]
mov edx, dword [0x45c448]
mov al, byte [0x45c44c]
mov dword [0x4ac3c0], ecx
mov ecx, dword [0x45c450]
mov dword [0x4ac3c4], edx
mov edx, dword [0x45c454]
mov byte [0x4ac3c8], al
mov eax, dword [0x45c458]
mov dword [0x466060], ecx
mov ecx, dword [0x45c45c]
mov dword [0x466064], edx
mov dword [0x466068], eax
mov dword [0x46606c], ecx
xor ebx, ebx
jmp 0x41ee21
mov ecx, str.qktk
lea eax, [esp + 0x9c]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41ea20
test dl, dl
je 0x41ea1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41ea20
add eax, 2
add ecx, 2
test dl, dl
jne 0x41ea00
xor eax, eax
jmp 0x41ea25
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41ea78
mov edx, dword [0x45c468]
mov ax, word [0x45c46c]
mov ecx, dword [0x45c470]
mov dword [0x4ac3c0], edx
mov edx, dword [0x45c474]
mov word [0x4ac3c4], ax
mov eax, dword [0x45c478]
mov dword [0x466060], ecx
mov cx, word [0x45c47c]
mov dword [0x466064], edx
mov dword [0x466068], eax
mov word [0x46606c], cx
xor ebx, ebx
jmp 0x41ee21
mov ecx, str.qktn
lea eax, [esp + 0x9c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41eaa4
test dl, dl
je 0x41eaa0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41eaa4
add eax, 2
add ecx, 2
test dl, dl
jne 0x41ea84
xor eax, eax
jmp 0x41eaa9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41eafc
mov edx, dword [0x45c488]
mov ax, word [0x45c48c]
mov ecx, dword [0x45c490]
mov dword [0x4ac3c0], edx
mov edx, dword [0x45c494]
mov word [0x4ac3c4], ax
mov eax, dword [0x45c498]
mov dword [0x466060], ecx
mov cx, word [0x45c49c]
mov dword [0x466064], edx
mov dword [0x466068], eax
mov word [0x46606c], cx
xor ebx, ebx
jmp 0x41ee21
mov eax, 8
xor ecx, ecx
mov edx, dword [esp + ecx + 0x9c]
cmp edx, dword [ecx + 0x45c4a0]
jne 0x41ebde
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x41eb03
mov edx, dword [0x486344]
push 0
push 0x54
push edx
call fcn.00435f77
add esp, 0xc
call fcn.00401240
mov dword [0x465c44], eax
call fcn.00401240
push 0
mov dword [0x465c5c], eax
mov eax, dword [0x486344]
push 0x5c
push eax
call fcn.00435f77
add esp, 0xc
call fcn.00401240
call fcn.0041ce90
cmp dword [0x465c44], 0x78
jle 0x41ebad
mov ecx, dword [0x486344]
push 0
push 0x78
push ecx
call fcn.00435f77
add esp, 0xc
call fcn.00401240
mov edx, dword [0x4ac3a0]
xor ecx, ecx
test eax, eax
setne cl
add edx, ecx
mov dword [0x4ac3a0], edx
cmp edx, 2
jne 0x41ebad
cmp dword [0x464a70], 0
je 0x41ebad
call fcn.0041ce90
mov edx, dword [0x486344]
push 0
push 0x64
push edx
call fcn.00435f77
add esp, 0xc
call fcn.00401240
mov dword [0x465d28], eax
mov eax, dword [0x465c44]
add eax, 0xc
call fcn.0041ab00
xor ebx, ebx
jmp 0x41ee21
cmp ebx, dword [str.RIFF]
jne 0x41ec04
mov eax, dword [0x486344]
push 0
push 0
push eax
call fcn.00435f77
add esp, 0xc
call fcn.0041d3f0
xor ebx, ebx
jmp 0x41ee21
cmp ebx, dword [0x45c4b4]
jne 0x41ecc9
mov cl, byte [0x45c4b8]
cmp cl, byte [esp + 0xa0]
jne 0x41ecc9
mov dl, byte [0x45c4b9]
cmp dl, byte [esp + 0xa1]
jne 0x41ecc9
mov eax, dword [0x486344]
push 0
push 6
push eax
call fcn.00435f77
mov ecx, dword [0x486344]
add esp, 0xc
push ecx
push 8
push 1
push 0x4ac3c0
call fcn.00435763
mov edx, dword [0x486344]
push edx
push 8
push 1
push 0x466060
call fcn.00435763
mov eax, dword [0x486344]
push eax
push 0x10
push 1
push 0x4ac440
call fcn.00435763
add esp, 0x30
call fcn.00401190
movzx ecx, ax
mov dword [0x465d28], ecx
call fcn.00401190
call fcn.00401190
mov word [0x4ac484], ax
call fcn.00401190
mov word [0x465d20], ax
mov dword [0x4862f0], 0x407fa0
mov dword [0x466120], edi
xor ebx, ebx
jmp 0x41ee21
mov eax, 9
mov ecx, str.DSC_Image
lea edx, [esp + 0x9c]
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x41ed06
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x41ece0
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41ed06
call fcn.0041c3b0
xor ebx, ebx
jmp 0x41ee21
cmp ebx, dword [str.PWAD]
jne 0x41ed1a
call fcn.0041c710
xor ebx, ebx
jmp 0x41ee21
cmp ebx, dword [0x45c4d0]
jne 0x41ed33
push 0
call fcn.0041b190
add esp, 4
xor ebx, ebx
jmp 0x41ee21
cmp ebx, dword [str.FOVb]
jne 0x41ed47
call fcn.0041db40
xor ebx, ebx
jmp 0x41ee21
cmp byte [0x45c4e0], bl
jne 0x41ed63
cmp byte [0x45c4e1], bh
jne 0x41ed63
call fcn.0041d7f0
xor ebx, ebx
jmp 0x41ee21
mov edi, 0x450c3c
mov esi, 0xfffffff4
sub esi, edi
mov ebx, 0x45
mov ecx, dword [esp + 0x40]
cmp ecx, dword [edi - 4]
jne 0x41eda9
mov eax, edi
nop
mov cl, byte [eax]
mov byte [eax + esi + 0x4ac3cc], cl
inc eax
test cl, cl
jne 0x41ed80
lea eax, [edi + 0xc]
mov cl, byte [eax]
mov byte [eax + esi + 0x466060], cl
inc eax
test cl, cl
jne 0x41ed91
cmp byte [edi + 0x1f], cl
je 0x41eda9
call fcn.0041b4c0
sub esi, 0x24
add edi, 0x24
sub ebx, 1
jne 0x41ed74
mov edi, 0x61616161
jmp 0x41ee21
mov eax, 8
xor ecx, ecx
jmp 0x41edd0
mov edx, dword [esp + ecx + 0xa2]
cmp edx, dword [ecx + 0x45c408]
jne 0x41ee1a
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x41edd0
mov eax, dword [esp + 0x40]
sub eax, esi
push eax
push esi
mov dword [0x465d28], esi
call fcn.0041b830
add esp, 8
jmp 0x41ee21
mov esi, eax
lea ecx, [esp + 0x9c]
sub esi, ecx
push esi
call fcn.0041c990
add esp, 4
cmp esi, ebx
je 0x41ee21
xor eax, eax
call fcn.0041ab00
cmp byte [0x4ac3c0], 0
jne 0x41ee71
mov edx, dword [esp + 0x40]
push edx
call fcn.0041d710
add esp, 4
cmp byte [0x4ac3c0], 0
jne 0x41ee71
mov eax, dword [0x486344]
push ebx
push ebx
push eax
mov dword [0x4ac3a0], ebx
call fcn.00435f77
mov ecx, dword [0x486344]
add esp, 0xc
push ecx
call fcn.004361ad
add esp, 4
cmp eax, 0xff
jne 0x41ee71
call fcn.0041d180
xor esi, esi
mov edx, dword [esi + 0x45c3b8]
push edx
push 0x4ac3c0
call fcn.00434a10
add esp, 8
test eax, eax
je 0x41eea2
mov eax, dword [esi + 0x45c3b8]
mov edx, 0x4ac3c0
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41ee98
add esi, 4
cmp esi, 0x40
jb 0x41ee73
push 5
push 0x45c4e4
push 0x4ac3c0
call fcn.004344d5
add esp, 0xc
test eax, eax
jne 0x41eef1
push str.DIGITAL_CAMERA
push 0x466060
call fcn.00434a10
add esp, 8
cmp eax, ebx
jne 0x41eeee
push str.FILE_VERSION
push 0x466060
call fcn.00434a10
add esp, 8
cmp eax, ebx
je 0x41eef1
mov byte [eax], 0
mov eax, 0x4ac3c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ef00
sub eax, edx
cmp byte [eax + 0x4ac3bf], 0x20
lea eax, [eax + 0x4ac3bf]
jne 0x41ef21
mov byte [eax], 0
dec eax
cmp byte [eax], 0x20
je 0x41ef18
mov eax, 0x466060
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ef30
sub eax, edx
cmp byte [eax + 0x46605f], 0x20
lea eax, [eax + 0x46605f]
jne 0x41ef51
mov byte [eax], 0
dec eax
cmp byte [eax], 0x20
je 0x41ef48
mov eax, 0x4ac3c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ef60
sub eax, edx
mov esi, eax
push esi
push 0x4ac3c0
push 0x466060
call fcn.0044589e
add esp, 0xc
test eax, eax
jne 0x41efa9
mov al, byte [esi + 0x466060]
inc esi
cmp al, 0x20
jne 0x41efa9
mov ecx, 0x40
sub ecx, esi
push ecx
lea edx, [esi + 0x466060]
push edx
push 0x466060
call fcn.00434170
add esp, 0xc
push 0xf
push str.Digital_Camera
push 0x466060
call fcn.004344d5
add esp, 0xc
test eax, eax
jne 0x41efd0
mov eax, 0x46606f
mov cl, byte [eax]
mov byte [eax - 0xf], cl
inc eax
test cl, cl
jne 0x41efc6
mov byte [0x4ac47f], 0
mov byte [0x46609f], 0
mov byte [0x4ac3ff], 0
mov byte [0x46603f], 0
mov byte [0x465f3f], 0
cmp dword [0x4ac3a0], ebx
je 0x423a86
mov esi, dword [0x48633c]
cmp dword [0x466044], ebx
jne 0x41f01c
mov eax, 1
mov ecx, esi
shl eax, cl
dec eax
mov dword [0x466044], eax
mov dx, word [0x4ac486]
cmp dx, bx
jne 0x41f036
mov dx, word [0x465d20]
mov word [0x4ac486], dx
mov cx, word [0x466040]
cmp cx, bx
jne 0x41f050
mov cx, word [0x4ac484]
mov word [0x466040], cx
mov ax, word [0x465f64]
cmp ax, bx
je 0x41f07c
fld1
mov cx, dx
add cx, ax
fstp qword [0x4660a8]
mov dx, cx
dec dx
mov word [0x466040], cx
mov word [0x4ac486], dx
mov eax, 0xa40
cmp dx, ax
jne 0x41f0a9
mov edx, 0xf60
cmp cx, dx
jne 0x41f0f5
mov eax, 0xa38
mov ecx, 0xf38
mov word [0x4ac486], ax
mov word [0x466040], cx
jmp 0x41f0f5
mov eax, 0xc40
cmp dx, ax
jne 0x41f0d6
mov edx, 0x1300
cmp cx, dx
jne 0x41f0f5
mov eax, 0xc34
mov ecx, 0x1250
mov word [0x4ac486], ax
mov word [0x466040], cx
jmp 0x41f0f5
mov eax, 0xbc6
cmp dx, ax
jne 0x41f0f5
mov edx, 0x1000
cmp cx, dx
jne 0x41f0f5
mov eax, 0xfae
mov word [0x466040], ax
cmp dword [0x465f60], ebx
je 0x41f15c
mov eax, dword [0x466120]
cmp eax, 0xffffffff
jne 0x41f132
mov dword [0x466120], ebx
mov edx, dword [0x466128]
mov dword [0x465c58], edx
mov eax, dword [0x4ac398]
cmp eax, 1
jne 0x41f144
mov dword [0x4862f0], 0x404000
jmp 0x4239be
cmp eax, ebx
je 0x41f10d
mov ecx, dword [0x466128]
mov dword [0x4ac3a0], ecx
jmp 0x41f119
cmp eax, 7
jne 0x4239be
mov dword [0x4862f0], 0x403e80
jmp 0x4239be
mov edx, 0x45c51c
mov eax, 0x4ac3c0
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x41f186
test cl, cl
je 0x41f182
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x41f186
add eax, 2
add edx, 2
test cl, cl
jne 0x41f166
xor eax, eax
jmp 0x41f18b
sbb eax, eax
sbb eax, 0xffffffff
xor ebx, ebx
test eax, eax
sete bl
test ebx, ebx
je 0x41f1c4
mov eax, 8
xor ecx, ecx
lea ecx, [ecx]
mov edx, dword [esp + ecx + 0xa2]
cmp edx, dword [ecx + str.HEAPCCDR]
jne 0x41f1f0
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x41f1a0
mov dword [0x4862f0], 0x402860
mov edx, 0x45c530
mov eax, 0x4ac3c0
mov edi, edi
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x41f1fc
test cl, cl
je 0x41f1ec
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x41f1fc
add eax, 2
add edx, 2
test cl, cl
jne 0x41f1d0
xor eax, eax
jmp 0x41f201
mov dword [0x4862f0], 0x4035c0
jmp 0x41f1c4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f238
cmp dword [0x4862f0], eax
jne 0x41f217
mov dword [0x4862f0], 0x407a30
cmp byte [0x466060], 0x45
jne 0x41f238
xor eax, eax
cmp dword [0x465d28], eax
sete al
add eax, eax
add eax, eax
or eax, 2
or dword [0x4862fc], eax
mov edx, str.CASIO
mov eax, 0x4ac3c0
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x41f262
test cl, cl
je 0x41f25e
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x41f262
add eax, 2
add edx, 2
test cl, cl
jne 0x41f242
xor eax, eax
jmp 0x41f267
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f27f
mov dword [0x4862f0], 0x407a30
mov dword [0x466044], 0xf7f
cmp dword [0x4ac488], 0
je 0x41f2e1
mov ax, word [0x4ac486]
mov cx, word [0x466040]
movzx edx, ax
movzx esi, cx
add edx, edx
cmp edx, esi
jge 0x41f2ad
fld qword [0x4517d0]
fstp qword [0x4660a8]
cmp ax, cx
jbe 0x41f2be
fld qword [0x4517b8]
fstp qword [0x4660a8]
push 0
mov dword [0x466120], 0
mov dword [0x4862f0], 0x40c7a0
call fcn.0041e230
add esp, 4
jmp 0x4238f0
test ebx, ebx
je 0x41f334
cmp esi, 0xf
jne 0x41f334
mov cx, word [0x466040]
movzx eax, cx
cmp eax, 0xd10
je 0x41f304
cmp eax, 0xf20
je 0x41f30c
jmp 0x41f31b
mov eax, 0xffbe
add cx, ax
mov edx, 0xfffa
add cx, dx
mov word [0x466040], cx
mov dword [0x466120], 0
mov dword [0x4862f0], 0x403810
jmp 0x4238f0
mov ecx, str.PowerShot_600
mov eax, 0x466060
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f360
test dl, dl
je 0x41f35c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f360
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f340
xor eax, eax
jmp 0x41f365
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f3ab
fld qword [0x451ac0]
mov eax, 0x265
mov ecx, 0x356
mov edx, 0x380
mov word [0x4ac486], ax
mov word [0x466040], cx
mov word [0x4ac484], dx
mov dword [0x466120], 0xe1e4e1e4
mov dword [0x4862f0], 0x401dc0
jmp 0x4238e0
mov ecx, str.PowerShot_A5
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f3d5
test dl, dl
je 0x41f3d1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f3d5
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f3b5
xor eax, eax
jmp 0x41f3da
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4238a3
mov ecx, str.PowerShot_A5_Zoom
mov eax, 0x466060
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f410
test dl, dl
je 0x41f40c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f410
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f3f0
xor eax, eax
jmp 0x41f415
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4238a3
mov ecx, str.PowerShot_A50
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f447
test dl, dl
je 0x41f443
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f447
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f427
xor eax, eax
jmp 0x41f44c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f48c
mov eax, 0x3c8
mov ecx, 0x50a
mov edx, 0x528
mov word [0x4ac486], ax
mov word [0x466040], cx
mov word [0x4ac484], dx
mov dword [0x466120], 0x1b4e4b1e
mov dword [0x4862f0], 0x402360
jmp 0x4238e6
mov ecx, str.PowerShot_Pro70
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f4b6
test dl, dl
je 0x41f4b2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f4b6
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f496
xor eax, eax
jmp 0x41f4bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f4ef
mov eax, 0x400
mov ecx, 0x610
mov word [0x4ac486], ax
mov word [0x466040], cx
mov dword [0x466120], 0x1e4b4e1b
mov dword [0x4862f0], 0x402360
jmp 0x4238e6
mov ecx, str.PowerShot_SD300
mov eax, 0x466060
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f520
test dl, dl
je 0x41f51c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f520
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f500
xor eax, eax
jmp 0x41f525
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f57b
mov eax, 0x928
mov edx, 0x6d8
mov ecx, 0x6e6
mov word [0x466040], ax
mov eax, 0xc
mov word [0x4ac486], dx
mov word [0x465d20], cx
mov edx, 0x960
mov ecx, eax
mov word [0x4ac484], dx
mov word [0x4ac498], ax
mov word [0x4660a0], cx
mov dword [0x4862f0], 0x402360
jmp 0x4238f0
mov ecx, str.PowerShot_A460
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f5a5
test dl, dl
je 0x41f5a1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f5a5
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f585
xor eax, eax
jmp 0x41f5aa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f600
mov eax, 0xa38
mov edx, 0x7a8
mov ecx, 0x7b0
mov word [0x466040], ax
mov eax, 4
mov word [0x4ac486], dx
mov word [0x465d20], cx
mov edx, 0xa68
mov ecx, eax
mov word [0x4ac484], dx
mov word [0x4ac498], ax
mov word [0x4660a0], cx
mov dword [0x4862f0], 0x402360
jmp 0x4238f0
mov ecx, str.PowerShot_A530
mov eax, 0x466060
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f630
test dl, dl
je 0x41f62c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f630
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f610
xor eax, eax
jmp 0x41f635
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f698
mov edx, 0x7c0
mov eax, 0xa3c
mov ecx, 0x7c8
mov word [0x4ac486], dx
mov word [0x466040], ax
mov word [0x465d20], cx
mov edx, 0xa70
mov eax, 6
mov ecx, 0xa
mov word [0x4ac484], dx
mov word [0x4ac498], ax
mov word [0x4660a0], cx
mov dword [0x4862f0], 0x402360
mov dword [0x465f54], 0
jmp 0x4238f0
mov ecx, str.PowerShot_A610
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f6c2
test dl, dl
je 0x41f6be
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f6c2
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f6a2
xor eax, eax
jmp 0x41f6c7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f715
call fcn.00402310
test eax, eax
je 0x41f6ec
mov edx, dword [str.S2_IS]
mov ax, word [0x45c5d8]
mov dword [0x46606a], edx
mov word [0x46606e], ax
mov ecx, 0x7a8
mov eax, 0x7b0
mov edx, 0xa38
mov word [0x4ac486], cx
mov word [0x465d20], ax
lea ecx, [edx + 0x38]
mov eax, 0xc
jmp 0x41f972
mov ecx, str.PowerShot_A620
mov eax, 0x466060
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f740
test dl, dl
je 0x41f73c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f740
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f720
xor eax, eax
jmp 0x41f745
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f77c
mov ecx, 0x918
mov edx, 0xc28
mov word [0x4ac486], cx
mov eax, 0x924
mov word [0x466040], dx
lea ecx, [edx + 0x28]
mov edx, 0xc
mov word [0x465d20], ax
lea eax, [edx + 0x18]
jmp 0x41f97e
mov ecx, str.PowerShot_A720
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f7a6
test dl, dl
je 0x41f7a2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f7a6
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f786
xor eax, eax
jmp 0x41f7ab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f7e2
mov ecx, 0x9a8
mov edx, 0xce2
mov word [0x4ac486], cx
mov eax, 0x9b0
mov word [0x466040], dx
lea ecx, [edx + 0x26]
mov edx, 5
mov word [0x465d20], ax
lea eax, [edx + 1]
jmp 0x41f97e
mov ecx, str.PowerShot_A630
mov eax, 0x466060
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f810
test dl, dl
je 0x41f80c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f810
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f7f0
xor eax, eax
jmp 0x41f815
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f84c
mov ecx, 0x9a8
mov edx, 0xcd8
mov word [0x4ac486], cx
mov eax, 0x9b4
mov word [0x466040], dx
lea ecx, [edx + 0x38]
mov edx, 6
mov word [0x465d20], ax
lea eax, [edx + 6]
jmp 0x41f97e
mov ecx, str.PowerShot_A640
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f876
test dl, dl
je 0x41f872
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f876
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f856
xor eax, eax
jmp 0x41f87b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f8b2
mov ecx, 0xac8
mov edx, 0xe58
mov word [0x4ac486], cx
mov eax, 0xad4
mov word [0x466040], dx
lea ecx, [edx + 0x40]
mov edx, 6
mov word [0x465d20], ax
lea eax, [edx + 6]
jmp 0x41f97e
mov ecx, str.PowerShot_A650
mov eax, 0x466060
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f8e0
test dl, dl
je 0x41f8dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f8e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f8c0
xor eax, eax
jmp 0x41f8e5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f919
mov ecx, 0xbd0
mov edx, 0xfc0
mov word [0x4ac486], cx
mov eax, 0xbe8
mov word [0x466040], dx
lea ecx, [edx + 0x48]
mov edx, 0xc
mov word [0x465d20], ax
lea eax, [edx + 0x24]
jmp 0x41f97e
mov ecx, str.PowerShot_S3_IS
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f943
test dl, dl
je 0x41f93f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f943
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f923
xor eax, eax
jmp 0x41f948
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f9a1
mov ecx, 0x850
mov eax, 0x858
mov word [0x4ac486], cx
mov word [0x465d20], ax
mov edx, 0xb18
mov ecx, 0xb48
mov eax, 0x2c
mov word [0x466040], dx
mov edx, 8
mov word [0x4ac484], cx
mov word [0x4ac498], dx
mov word [0x4660a0], ax
mov dword [0x4862f0], 0x402360
jmp 0x4238f0
mov ecx, str.PowerShot_SX110_IS
mov eax, 0x466060
jmp 0x41f9b0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f9d0
test dl, dl
je 0x41f9cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f9d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f9b0
xor eax, eax
jmp 0x41f9d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41fa42
mov ecx, 0xac8
mov edx, 0xe64
mov eax, 0xad4
mov word [0x4ac486], cx
mov word [0x466040], dx
mov word [0x465d20], ax
mov ecx, 0xe88
mov edx, 0xc
mov eax, 6
mov word [0x4ac484], cx
mov word [0x4ac498], dx
mov word [0x4660a0], ax
mov dword [0x4862f0], 0x407a30
mov dword [0x4862fc], 0x28
mov dword [0x4ac494], 1
jmp 0x4238f0
mov ecx, str.PowerShot_Pro90_IS
mov eax, 0x466060
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41fa70
test dl, dl
je 0x41fa6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41fa70
add eax, 2
add ecx, 2
test dl, dl
jne 0x41fa50
xor eax, eax
jmp 0x41fa75
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41fa94
mov ecx, 0x768
mov word [0x466040], cx
mov dword [0x466120], 0xb4b4b4b4
jmp 0x4238e6
mov si, word [0x4ac484]
test ebx, ebx
je 0x41fcc0
mov edx, 0x860
cmp si, dx
jne 0x41fb2c
mov eax, 0x60e
mov word [0x4ac486], ax
mov ecx, 0x828
mov eax, 4
mov edx, 8
mov word [0x466040], cx
mov word [0x4660a0], ax
mov word [0x4ac498], dx
mov ecx, str.PowerShot_G1
mov eax, 0x466060
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41fb10
test dl, dl
je 0x41fb0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41fb10
add eax, 2
add ecx, 2
test dl, dl
jne 0x41faf0
xor eax, eax
jmp 0x41fb15
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4238f0
mov dword [0x466120], 0xb4b4b4b4
jmp 0x4238e6
mov ecx, 0x8b0
cmp si, cx
jne 0x41fb6a
mov edx, 0x5a8
mov word [0x4ac486], dx
mov eax, 0x880
mov ecx, 6
mov edx, 0x30
mov word [0x466040], ax
mov word [0x4ac498], cx
mov word [0x4660a0], dx
jmp 0x4238f0
mov eax, 0x948
cmp si, ax
jne 0x41fba8
mov ecx, 0x6b8
mov word [0x4ac486], cx
mov edx, 0x908
mov eax, 6
mov ecx, 0xc
mov word [0x466040], dx
mov word [0x4ac498], ax
mov word [0x4660a0], cx
jmp 0x4238f0
mov edx, 0xa70
cmp si, dx
jne 0x41fbe5
mov eax, 0x7a8
mov word [0x4ac486], ax
mov ecx, 0xa38
mov edx, 6
mov eax, 0xc
mov word [0x466040], cx
mov word [0x4ac498], dx
mov word [0x4660a0], ax
jmp 0x4238f0
mov ecx, 0xc50
cmp si, cx
jne 0x41fc45
cmp dword [0x465c50], 0x80000170
mov edx, 0x808
mov word [0x4ac486], dx
mov eax, 0xc10
mov ecx, 0xc
mov edx, 0x40
mov word [0x466040], ax
mov word [0x4ac498], cx
mov word [0x4660a0], dx
jne 0x4238f0
push 0x45c680
mov ecx, str.EOS_300D
call fcn.0041e0d0
add esp, 4
jmp 0x4238f0
mov eax, 0xc58
cmp si, ax
jne 0x41fc83
mov ecx, 0x918
mov word [0x4ac486], cx
mov edx, 0xc28
mov eax, 0xc
mov ecx, 0x2c
mov word [0x466040], dx
mov word [0x4ac498], ax
mov word [0x4660a0], cx
jmp 0x4238f0
mov edx, 0xd10
cmp si, dx
jne 0x41fcc0
mov eax, 0x9a8
mov word [0x4ac486], ax
mov ecx, 0xcd8
mov edx, 6
mov eax, 4
mov word [0x466040], cx
mov word [0x4ac498], dx
mov word [0x4660a0], ax
jmp 0x4238f0
mov ecx, str.EOS_D2000C
mov eax, 0x466060
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41fcf0
test dl, dl
je 0x41fcec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41fcf0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41fcd0
xor eax, eax
jmp 0x41fcf5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41fd11
movzx ecx, word [0x4662d0]
mov dword [0x466120], edi
mov dword [0x4862f4], ecx
jmp 0x4238f0
test ebx, ebx
je 0x420063
mov edx, 0xdbc
cmp si, dx
jne 0x41fd67
cmp dword [0x465c50], 0x80000189
mov eax, 0xe
mov ecx, 0x2a
mov word [0x4ac498], ax
mov word [0x4660a0], cx
jne 0x42000b
push 0x45c6a0
mov ecx, str.EOS_350D
call fcn.0041e0d0
mov ax, word [0x4ac498]
add esp, 4
jmp 0x42000b
mov edx, 0xe0c
cmp si, dx
jne 0x41fd7e
mov eax, 0xc
lea ecx, [eax + 0x3e]
jmp 0x41fffe
mov edx, 0xf68
cmp si, dx
jne 0x41fdbb
mov eax, 0xa2a
mov word [0x4ac486], ax
mov ecx, 0xf44
mov edx, 0x12
mov eax, 0x1e
mov word [0x466040], cx
mov word [0x4ac498], dx
mov word [0x4660a0], ax
jmp 0x4238f0
mov ecx, 0xf6c
cmp si, cx
jne 0x41fe39
mov ecx, 0xfffe
add word [0x4ac486], cx
cmp dword [0x465c50], 0x80000236
mov eax, 0x12
mov edx, 0x2a
mov word [0x4ac498], ax
mov word [0x4660a0], dx
jne 0x41fe0c
push 0x45c6b4
mov ecx, str.EOS_400D
call fcn.0041e0d0
mov ax, word [0x4ac498]
add esp, 4
cmp dword [0x465c50], 0x80000254
jne 0x42000b
push 0x45c6c8
mov ecx, str.EOS_1000D
call fcn.0041e0d0
mov ax, word [0x4ac498]
add esp, 4
jmp 0x42000b
mov edx, 0xf90
cmp si, dx
jne 0x41fe5c
mov eax, 0x14
mov edx, 0xfffe
add word [0x4ac486], dx
lea ecx, [eax + 0x38]
jmp 0x41fffe
mov eax, 0x1008
cmp si, ax
jne 0x41fe9a
mov ecx, 0xbd0
mov word [0x4ac486], cx
mov edx, 0xfc0
mov eax, 0xc
mov ecx, 0x30
mov word [0x466040], dx
mov word [0x4ac498], ax
mov word [0x4660a0], cx
jmp 0x4238f0
mov edx, 0x1038
cmp si, dx
jne 0x41feb3
mov eax, 0xc
mov ecx, 0xc0
jmp 0x41fffe
mov edx, 0x10d8
cmp si, dx
jne 0x41ff0d
mov edx, 0xfffe
add word [0x4ac486], dx
cmp dword [0x465c50], 0x80000176
mov eax, 0x12
mov ecx, 0x16
mov word [0x4ac498], ax
mov word [0x4660a0], cx
jne 0x42000b
push str.Canon
mov ecx, str.EOS_450D
call fcn.0041e0d0
mov ax, word [0x4ac498]
add esp, 4
jmp 0x42000b
mov eax, 0x117c
cmp si, ax
jne 0x41ff24
mov eax, 0x22
lea ecx, [eax + 0x38]
jmp 0x41fffe
mov edx, 0x1180
cmp si, dx
jne 0x41ff6b
mov eax, 0xcfe
mov word [0x4ac486], ax
mov ecx, 0x1150
mov edx, 0xa
mov eax, 0xc
mov word [0x466040], cx
mov word [0x4ac498], dx
mov word [0x4660a0], ax
mov dword [0x466120], 0x49494949
jmp 0x4238f0
mov ecx, 0x4b8
cmp si, cx
jne 0x41ffb2
mov eax, dword [0x465c50]
mov cx, word [0x466040]
sub eax, 0x80000261
neg eax
sbb eax, eax
and eax, 0xffffffe7
add cx, cx
add eax, 0x33
add cx, cx
mov edx, 0x3e
mov word [0x4660a0], dx
mov word [0x466040], cx
mov word [0x4ac484], cx
jmp 0x420005
mov eax, 0x5a8
cmp si, ax
jne 0x41ffea
mov ecx, 0x9e
mov word [0x4660a0], cx
mov cx, word [0x466040]
add cx, cx
add cx, cx
mov eax, 0x33
mov word [0x466040], cx
mov word [0x4ac484], cx
jmp 0x420005
mov edx, 0x13f4
cmp si, dx
jne 0x420025
mov eax, 0xd
mov ecx, 0x62
mov word [0x4660a0], cx
mov word [0x4ac498], ax
mov dx, word [0x4660a0]
sub word [0x4ac486], ax
sub word [0x466040], dx
jmp 0x4238f0
mov eax, 0x1650
cmp si, ax
jne 0x420063
mov ecx, 0xea8
mov word [0x4ac486], cx
mov edx, 0x1608
mov eax, 0x14
mov ecx, 0x3e
mov word [0x466040], dx
mov word [0x4ac498], ax
mov word [0x4660a0], cx
jmp 0x4238f0
mov ecx, 0x45c6e4
mov eax, 0x466060
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420092
test dl, dl
je 0x42008c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420092
add eax, 2
add ecx, 2
test dl, dl
jne 0x420070
xor ebx, ebx
xor eax, eax
jmp 0x420099
sbb eax, eax
sbb eax, 0xffffffff
xor ebx, ebx
cmp eax, ebx
jne 0x4200c6
fld dword [0x466110]
fmul qword [0x451ab8]
fstp dword [0x466110]
fld dword [0x466118]
fmul qword [0x451ab0]
fstp dword [0x466118]
jmp 0x4238f0
mov ecx, 0x45c6e8
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4200f0
test dl, dl
je 0x4200ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4200f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4200d0
xor eax, eax
jmp 0x4200f5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x420116
fld qword [0x4517d0]
mov edx, 0xfffc
add word [0x466040], dx
fstp qword [0x4660a8]
jmp 0x4238f0
mov ecx, str.D40X
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420140
test dl, dl
je 0x42013c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420140
add eax, 2
add ecx, 2
test dl, dl
jne 0x420120
xor eax, eax
jmp 0x420145
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x423889
mov ecx, 0x45c6f4
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420177
test dl, dl
je 0x420173
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420177
add eax, 2
add ecx, 2
test dl, dl
jne 0x420157
xor eax, eax
jmp 0x42017c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x423889
mov ecx, 0x45c6f8
mov eax, 0x466060
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4201b0
test dl, dl
je 0x4201ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4201b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x420190
xor eax, eax
jmp 0x4201b5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x423889
mov ecx, 0x45c6fc
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4201e7
test dl, dl
je 0x4201e3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4201e7
add eax, 2
add ecx, 2
test dl, dl
jne 0x4201c7
xor eax, eax
jmp 0x4201ec
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x42386f
mov ecx, str.D700
mov eax, 0x466060
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420220
test dl, dl
je 0x42021c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420220
add eax, 2
add ecx, 2
test dl, dl
jne 0x420200
xor eax, eax
jmp 0x420225
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x42386f
push 3
push 0x45c708
push 0x466060
call fcn.004344d5
add esp, 0xc
test eax, eax
je 0x42385e
push 3
push 0x45c70c
push 0x466060
call fcn.004344d5
add esp, 0xc
test eax, eax
je 0x42385e
push 3
push 0x45c710
push 0x466060
call fcn.004344d5
add esp, 0xc
test eax, eax
je 0x42385e
mov ecx, 0x45c714
mov eax, 0x466060
jmp 0x420290
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4202b0
test dl, dl
je 0x4202ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4202b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x420290
xor eax, eax
jmp 0x4202b5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4202ca
mov eax, 0xffd6
add word [0x466040], ax
jmp 0x4238f0
mov ecx, str.D100
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4202f4
test dl, dl
je 0x4202f0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4202f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4202d4
xor eax, eax
jmp 0x4202f9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x42034a
cmp dword [0x4ac398], 0x8799
jne 0x4238f0
call fcn.00404950
test eax, eax
jne 0x4238f0
mov ax, word [0x466040]
or dword [0x4862fc], 1
add ax, 3
mov word [0x466040], ax
add ax, 3
mov dword [0x4862f0], 0x407a30
mov word [0x4ac484], ax
jmp 0x4238f0
mov ecx, str.D200
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420374
test dl, dl
je 0x420370
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420374
add eax, 2
add ecx, 2
test dl, dl
jne 0x420354
xor eax, eax
jmp 0x420379
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4203a4
mov ecx, 1
mov edx, 0xfffc
add word [0x466040], dx
mov word [0x4660a0], cx
mov dword [0x466120], 0x94949494
jmp 0x4238f0
push 3
push 0x45c728
push 0x466060
call fcn.004344d5
add esp, 0xc
test eax, eax
jne 0x4203d8
mov eax, 6
mov ecx, 0xfff2
add word [0x466040], cx
mov word [0x4660a0], ax
jmp 0x4238f0
push 3
push 0x45c72c
push 0x466060
call fcn.004344d5
add esp, 0xc
test eax, eax
jne 0x42041f
mov edx, 0xcc0
cmp word [0x466040], dx
jne 0x42040e
mov eax, 0xca0
mov word [0x466040], ax
jmp 0x4238f0
mov ecx, 0xfff8
add word [0x466040], cx
jmp 0x4238f0
mov ecx, str.D300
mov eax, 0x466060
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420450
test dl, dl
je 0x42044c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420450
add eax, 2
add ecx, 2
test dl, dl
jne 0x420430
xor eax, eax
jmp 0x420455
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x42046a
mov edx, 0xffe0
add word [0x466040], dx
jmp 0x4238f0
mov ecx, str.COOLPIX_P6000
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420494
test dl, dl
je 0x420490
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420494
add eax, 2
add ecx, 2
test dl, dl
jne 0x420474
xor eax, eax
jmp 0x420499
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4204b6
mov dword [0x4862fc], 0x18
mov dword [0x466120], 0x94949494
jmp 0x4238f0
mov esi, dword [esp + 0x40]
cmp esi, 0x182004
jne 0x420544
mov eax, 0x3c3
mov ecx, 0x507
mov edx, 0x660
push 3
mov word [0x4ac486], ax
mov word [0x466040], cx
mov word [0x4ac484], dx
mov dword [0x4862f0], 0x404c70
mov dword [0x466044], 0x3f4
mov dword [0x465c58], 4
mov dword [0x466120], 0x1e1e1e1e
call fcn.0041e230
fld dword [0x451aa8]
fstp dword [0x486150]
add esp, 4
fld dword [0x451aa4]
fstp dword [0x486154]
fld dword [0x451aa0]
fstp dword [0x48615c]
jmp 0x4238f0
cmp esi, 0x25a000
jne 0x4205a4
mov ecx, 0x650
mov eax, 0x4b3
mov word [0x466040], cx
mov edx, 0x800
push str.NIKON
mov ecx, str.E950
mov word [0x4ac486], ax
mov word [0x4ac484], dx
mov dword [0x4862f0], 0x404c70
mov dword [0x465c58], 4
mov dword [0x466120], 0x4b4b4b4b
call fcn.0041e0d0
add esp, 4
jmp 0x4238f0
cmp esi, 0x48d000
jne 0x420690
mov edx, dword [0x486168]
or edx, dword [0x48616c]
mov eax, 0x604
mov ecx, 0x810
mov word [0x4ac486], ax
mov word [0x466040], cx
mov dword [0x465c58], 4
mov dword [0x466120], 0xe1e1e1e1
mov dword [0x4862f0], 0x407a30
mov dword [0x4862fc], 6
jne 0x42061c
call fcn.004049e0
test eax, eax
je 0x42061c
mov eax, dword [0x45c758]
mov cl, byte [0x45c75c]
mov dword [0x466060], eax
mov byte [0x466064], cl
mov ecx, str.E995
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420646
test dl, dl
je 0x420642
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420646
add eax, 2
add ecx, 2
test dl, dl
jne 0x420626
xor eax, eax
jmp 0x42064b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4238f0
push 3
mov dword [0x466120], 0xb4b4b4b4
call fcn.0041e230
fld dword [0x451a9c]
fstp dword [0x486150]
add esp, 4
fld dword [0x451a98]
fstp dword [0x486154]
fld dword [0x451a94]
fstp dword [0x486158]
jmp 0x4238f0
mov ecx, str.E2100
mov eax, 0x466060
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4206c0
test dl, dl
je 0x4206bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4206c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4206a0
xor eax, eax
jmp 0x4206c5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x420706
mov edx, dword [0x486168]
or edx, dword [0x48616c]
jne 0x4206e0
call fcn.00404a80
test eax, eax
je 0x420739
mov eax, 0x4b6
mov ecx, 0x650
mov word [0x4ac486], ax
mov word [0x466040], cx
mov dword [0x4862fc], 0x1e
jmp 0x4238f0
mov ecx, 0x45c770
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420730
test dl, dl
je 0x42072c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420730
add eax, 2
add ecx, 2
test dl, dl
jne 0x420710
xor eax, eax
jmp 0x420735
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x420778
mov edx, dword [str.E2500]
mov ax, word [0x45c77c]
mov dword [0x466060], edx
mov ecx, 0x4b4
mov edx, 0x650
mov word [0x466064], ax
mov word [0x4ac486], cx
mov word [0x466040], dx
mov dword [0x466120], 0x4b4b4b4b
jmp 0x4238e6
cmp esi, 0x48e000
jne 0x42086e
fld dword [0x451a90]
mov edx, dword [0x486168]
or edx, dword [0x48616c]
fstp dword [0x486150]
fld dword [0x451a8c]
mov eax, 0x606
mov ecx, 0x810
fstp dword [0x486158]
mov word [0x4ac486], ax
mov word [0x466040], cx
mov dword [0x4862f0], 0x407a30
mov dword [0x4862fc], 0x1e
jne 0x4207da
call fcn.00404b30
cmp byte [0x466060], 0x45
jne 0x420801
push 0x466061
call fcn.00434d34
add esp, 4
cmp eax, 0xe74
jge 0x420801
mov dword [0x466120], 0x49494949
mov ecx, str.Optio_33WR
mov eax, 0x466060
jmp 0x420810
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420830
test dl, dl
je 0x42082c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420830
add eax, 2
add ecx, 2
test dl, dl
jne 0x420810
xor eax, eax
jmp 0x420835
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4238f0
fld dword [0x451a88]
mov dword [0x486340], 1
fstp dword [0x486150]
mov dword [0x466120], 0x16161616
fld dword [0x451a84]
fstp dword [0x486158]
jmp 0x4238f0
cmp esi, 0x599000
jne 0x420916
mov edx, dword [0x486168]
or edx, dword [0x48616c]
mov eax, 0x6ae
mov ecx, 0x8f0
mov word [0x4ac486], ax
mov word [0x466040], cx
mov dword [0x466120], 0x16161616
jne 0x4208ec
call fcn.00404be0
test eax, eax
je 0x4208ec
mov eax, dword [str.Minolta]
mov ecx, dword [0x45c790]
mov edx, dword [str.DiMAGE_Z2]
mov dword [0x4ac3c0], eax
mov eax, dword [0x45c798]
mov dword [0x4ac3c4], ecx
mov cx, word [0x45c79c]
mov dword [0x466060], edx
mov dword [0x466064], eax
mov word [0x466068], cx
xor eax, eax
cmp byte [0x4ac3c0], 0x4d
mov dword [0x4862f0], 0x407a30
sete al
lea edx, [eax + eax*2]
lea eax, [edx*8 + 6]
mov dword [0x4862fc], eax
jmp 0x4238f0
mov ecx, str.E4500
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420940
test dl, dl
je 0x42093c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420940
add eax, 2
add ecx, 2
test dl, dl
jne 0x420920
xor eax, eax
jmp 0x420945
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x420970
mov ecx, 0x6ac
mov edx, 0x8f0
mov word [0x4ac486], cx
mov word [0x466040], dx
mov dword [0x466120], 0xb4b4b4b4
jmp 0x4238e6
cmp esi, 0x718000
jne 0x42098d
mov eax, 0x784
mov word [0x4ac486], ax
mov ecx, 0xa10
jmp 0x41fa7e
cmp esi, 0x895000
jne 0x4209cf
mov edx, 0x846
mov eax, 0xb10
mov word [0x4ac486], dx
mov word [0x466040], ax
mov dword [0x466044], 0xf83
mov dword [0x4862f0], 0x407a30
mov dword [0x4862fc], 0x1e
jmp 0x4238f0
mov ecx, str.FinePix_S5100
mov eax, 0x466060
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420a00
test dl, dl
je 0x4209fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420a00
add eax, 2
add ecx, 2
test dl, dl
jne 0x4209e0
xor eax, eax
jmp 0x420a05
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x42165f
mov ecx, str.FinePix_S5500
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420a37
test dl, dl
je 0x420a33
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420a37
add eax, 2
add ecx, 2
test dl, dl
jne 0x420a17
xor eax, eax
jmp 0x420a3c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x42165f
mov ecx, str.FUJIFILM
mov eax, 0x4ac3c0
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420a70
test dl, dl
je 0x420a6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420a70
add eax, 2
add ecx, 2
test dl, dl
jne 0x420a50
xor eax, eax
jmp 0x420a75
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x420be8
mov ecx, str.S2Pro
mov eax, 0x466067
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420aa7
test dl, dl
je 0x420aa3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420aa7
add eax, 2
add ecx, 2
test dl, dl
jne 0x420a87
xor eax, eax
jmp 0x420aac
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x420aea
mov ecx, dword [str._S2Pro]
mov dx, word [0x45c7e0]
mov al, byte [0x45c7e2]
mov dword [0x466067], ecx
mov word [0x46606b], dx
mov byte [0x46606d], al
mov edi, 0x860
mov esi, 0xb40
mov dword [0x486340], 6
jmp 0x420b02
mov di, word [0x4ac486]
mov si, word [0x466040]
mov dword [0x466044], 0x3e00
cmp dword [0x4ac3a0], 2
jne 0x420b1e
cmp dword [0x464a70], 0
je 0x420b1e
mov dword [0x466044], 0x2f00
movzx ebx, word [0x465d20]
movzx ecx, di
mov eax, ebx
sub eax, ecx
movzx ecx, word [0x4ac484]
cdq
sub eax, edx
sar eax, 1
mov word [0x4ac498], ax
movzx edx, si
mov eax, ecx
sub eax, edx
cdq
sub eax, edx
mov edx, dword [0x466100]
sar eax, 1
cmp dword [0x4ac3a0], 2
mov word [0x4660a0], ax
jne 0x420b91
test edx, edx
je 0x420b77
xor ecx, ecx
test edx, edx
sete cl
shr si, cl
mov cx, dx
mov word [0x465d20], di
mov dword [0x4862f0], 0x404d90
mov ax, si
mov si, di
shr si, cl
mov word [0x465f64], ax
add si, ax
mov word [0x466040], si
dec si
mov word [0x4ac486], si
test al, 1
jne 0x4238f0
mov ecx, str.RD175
mov eax, 0x466060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420c12
test dl, dl
je 0x420c0e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420c12
add eax, 2
add ecx, 2
test dl, dl
jne 0x420bf2
xor eax, eax
jmp 0x420c17
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x420c52
mov ecx, 0x3da
mov edx, 0x5fe
mov word [0x4ac486], cx
mov word [0x466040], dx
mov dword [0x465d28], 0x201
mov dword [0x466120], edi
mov dword [0x4862f0], 0x408920
jmp 0x4238f0
mov ecx, str.KD_400Z
mov eax, 0x466060
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420c80
test dl, dl
je 0x420c7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420c80
xor eax, eax
jmp 0x420c85
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x420cb1
mov eax, 0x6b0
mov ecx, 0x908
mov edx, 0x920
mov word [0x4ac486], ax
mov word [0x466040], cx
mov word [0x4ac484], dx
jmp 0x420e58
mov ecx, str.KD_510Z
mov eax, 0x466060
jmp 0x420cc0
mov dword [0x4862f0], 0x407da0
jmp 0x4238f0
mov eax, 0xffff
add word [0x466040], ax
jmp 0x4238f0
mov ecx, 0xfffc
add word [0x466040], cx
mov edx, 2
mov word [0x4660a0], dx
jmp 0x4238f0
mov eax, 0xfffd
add word [0x4ac486], ax
mov ecx, 0xfffc
add word [0x466040], cx
jmp 0x4238f0
fld qword [0x4519c8]
mov edx, 0x305
mov eax, 0x3c0
mov ecx, 0x3e0
mov word [0x4ac486], dx
mov word [0x466040], ax
mov word [0x4ac484], cx
mov dword [0x466120], 0x1e4e1e4e
mov dword [0x4862f0], 0x402360
fstp qword [0x4660a8]
mov dword [0x465c58], 4
cmp byte [0x466060], 0
jne 0x42391b
movzx edx, word [0x4ac486]
movzx eax, word [0x466040]
push edx
push eax
push str._dx_d
push 0x466060
call fcn.004339dc
add esp, 0x10
cmp dword [0x466120], 0xffffffff
jne 0x42392e
mov dword [0x466120], 0x94949494
cmp dword [0x465f54], 0
je 0x423949
push 0x4ac3c0
mov ecx, 0x466060
call fcn.0041e0d0
add esp, 4
cmp dword [0x4862f0], 0x409460
jne 0x423970
cmp dword [0x465f54], 0
je 0x423970
push str.Apple
mov ecx, str.Quicktake
call fcn.0041e0d0
add esp, 4
mov eax, dword [0x465c44]
test eax, eax
je 0x4239be
cmp word [0x4660b8], 0
jne 0x4239be
mov ecx, dword [0x486344]
push 0
push eax
push ecx
call fcn.00435f77
add esp, 0xc
push 1
lea esi, [esp + 0x4c]
call fcn.00402fe0
add esp, 4
test eax, eax
je 0x4239be
mov dx, word [esp + 0x50]
mov ax, word [esp + 0x4c]
mov word [0x465f5c], dx
mov word [0x4660b8], ax
xor ebx, ebx
cmp dword [0x4862f0], ebx
je 0x4239d2
cmp word [0x4ac486], 0x16
jae 0x4239d8
mov dword [0x4ac3a0], ebx
cmp byte [0x4ac420], 0
jne 0x423a0a
cmp dword [0x465c58], 3
mov ecx, 0x45cca4
je 0x4239f4
mov ecx, str.GMCY
mov edx, 0x4ac420
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x423a00
cmp word [0x465d20], bx
jne 0x423a21
mov cx, word [0x4ac486]
mov word [0x465d20], cx
cmp word [0x4ac484], bx
jne 0x423a38
mov dx, word [0x466040]
mov word [0x4ac484], dx
mov esi, dword [0x466120]
cmp esi, ebx
je 0x423a86
cmp dword [0x465c58], 3
jne 0x423a86
xor ecx, ecx
lea ecx, [ecx]
mov eax, esi
shr eax, cl
and eax, 0xf
cmp al, 9
jne 0x423a64
mov edx, 2
shl edx, cl
or esi, edx
mov eax, esi
shr eax, cl
and eax, 0xf
cmp al, 6
jne 0x423a78
mov edx, 8
shl edx, cl
or esi, edx
add ecx, 4
cmp ecx, 0x20
jb 0x423a50
mov dword [0x466120], esi
cmp dword [0x486340], 0xffffffff
jne 0x423aa4
mov eax, dword [0x4ac408]
mov dword [0x486340], eax
cmp eax, 0xffffffff
jne 0x423aa4
mov dword [0x486340], ebx
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004334ab
mov esp, ebp
pop ebp
ret